Implementation notes: amd64, cel02, crypto_verify/1025

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_verify
Primitive: 1025
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
120190 0 010652 816 768avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
148186 0 010348 816 768avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
364173 0 09352 800 736avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
372190 0 013909 824 800avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7202096 0 015845 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1342327 0 011578 800 712refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
194696 0 010268 816 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
335694 0 010556 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
336095 0 09476 792 712refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
350686 0 09272 800 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
different strings pass verify

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55bd2cca55f0: v4i64 = X86ISD::VTRUNC 0x55bd2cca54c0
try.c: 0x55bd2cca54c0: v16i32 = vselect 0x55bd2ccb12e0, 0x55bd2cc364e0, 0x55bd2cca5390
try.c: 0x55bd2ccb12e0: v4i1 = X86ISD::PCMPGTM 0x55bd2cc8dc90, 0x55bd2cc89820
try.c: 0x55bd2cc8dc90: v4i64 = X86ISD::VBROADCAST 0x55bd2cc33680
try.c: 0x55bd2cc33680: i64,ch = load<LD8[%lsr.iv6971]> 0x55bd2cb9e960, 0x55bd2cc84680, undef:i64
try.c: 0x55bd2cc84680: i64,ch = CopyFromReg 0x55bd2cb9e960, Register:i64 %vreg50
try.c: 0x55bd2cc89a80: i64 = Register %vreg50
try.c: 0x55bd2cc34b50: i64 = undef
try.c: 0x55bd2cc89820: v4i64,ch = CopyFromReg 0x55bd2cb9e960, Register:v4i64 %vreg13
try.c: 0x55bd2cc8e4e0: v4i64 = Register %vreg13
try.c: 0x55bd2cc364e0: v16i32 = X86ISD::VBROADCAST 0x55bd2cc8def0
try.c: 0x55bd2cc8def0: i32,ch = load<LD4[ConstantPool]> 0x55bd2cb9e960, 0x55bd2cc31aa0, undef:i64
try.c: 0x55bd2cc31aa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bd2cc79040: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bd2cc34b50: i64 = undef
try.c: 0x55bd2cca5390: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: 0x55bd2cca5260: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5614324e6d90: v4i64 = X86ISD::VTRUNC 0x5614324e6c60
try.c: 0x5614324e6c60: v16i32 = vselect 0x5614324e1760, 0x561432467e80, 0x5614324e6b30
try.c: 0x5614324e1760: v4i1 = X86ISD::PCMPGTM 0x5614324ccde0, 0x5614324c8f70
try.c: 0x5614324ccde0: v4i64 = X86ISD::VBROADCAST 0x561432468340
try.c: 0x561432468340: i64,ch = load<LD8[%lsr.iv6971]> 0x5614323c6a30, 0x561432478840, undef:i64
try.c: 0x561432478840: i64,ch = CopyFromReg 0x5614323c6a30, Register:i64 %vreg50
try.c: 0x5614324c91d0: i64 = Register %vreg50
try.c: 0x561432461180: i64 = undef
try.c: 0x5614324c8f70: v4i64,ch = CopyFromReg 0x5614323c6a30, Register:v4i64 %vreg13
try.c: 0x5614324cd630: v4i64 = Register %vreg13
try.c: 0x561432467e80: v16i32 = X86ISD::VBROADCAST 0x5614324cd040
try.c: 0x5614324cd040: i32,ch = load<LD4[ConstantPool]> 0x5614323c6a30, 0x561432476e10, undef:i64
try.c: 0x561432476e10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561432461b00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561432461180: i64 = undef
try.c: 0x5614324e6b30: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: 0x5614324e6a00: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x564dfa84a420: v4i64 = X86ISD::VTRUNC 0x564dfa84a2f0
try.c: 0x564dfa84a2f0: v16i32 = vselect 0x564dfa853470, 0x564dfa7cf380, 0x564dfa84a1c0
try.c: 0x564dfa853470: v4i1 = X86ISD::PCMPGTM 0x564dfa82faa0, 0x564dfa82b630
try.c: 0x564dfa82faa0: v4i64 = X86ISD::VBROADCAST 0x564dfa7d21d0
try.c: 0x564dfa7d21d0: i64,ch = load<LD8[%lsr.iv6971]> 0x564dfa740950, 0x564dfa818ec0, undef:i64
try.c: 0x564dfa818ec0: i64,ch = CopyFromReg 0x564dfa740950, Register:i64 %vreg50
try.c: 0x564dfa82b890: i64 = Register %vreg50
try.c: 0x564dfa7d36a0: i64 = undef
try.c: 0x564dfa82b630: v4i64,ch = CopyFromReg 0x564dfa740950, Register:v4i64 %vreg13
try.c: 0x564dfa8302f0: v4i64 = Register %vreg13
try.c: 0x564dfa7cf380: v16i32 = X86ISD::VBROADCAST 0x564dfa82fd00
try.c: 0x564dfa82fd00: i32,ch = load<LD4[ConstantPool]> 0x564dfa740950, 0x564dfa7f67f0, undef:i64
try.c: 0x564dfa7f67f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564dfa81a0c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564dfa7d36a0: i64 = undef
try.c: 0x564dfa84a1c0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: 0x564dfa84a090: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: verify.c:6:18: error: always_inline function '_mm256_set1_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: __m256i diff = _mm256_set1_epi8(0);
verify.c: ^
verify.c: verify.c:13:20: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: __m256i x0 = _mm256_loadu_si256((__m256i *) x);
verify.c: ^
verify.c: verify.c:14:20: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: __m256i y0 = _mm256_loadu_si256((__m256i *) y);
verify.c: ^
verify.c: verify.c:25:11: error: always_inline function '_mm256_srli_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: diff |= _mm256_srli_epi16(diff,8);
verify.c: ^
verify.c: verify.c:26:11: error: always_inline function '_mm256_srli_epi32' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: diff |= _mm256_srli_epi32(diff,16);
verify.c: ^
verify.c: verify.c:27:11: error: always_inline function '_mm256_srli_epi64' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: diff |= _mm256_srli_epi64(diff,32);
verify.c: ^
verify.c: verify.c:29:19: error: always_inline function '_mm256_extract_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: differentbits = _mm256_extract_epi8(diff,0);
verify.c: ^
verify.c: verify.c:30:20: error: always_inline function '_mm256_extract_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: differentbits |= _mm256_extract_epi8(diff,8);
verify.c: ^
verify.c: verify.c:31:20: error: always_inline function '_mm256_extract_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_1025_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55c2fb9e0490: v4i64 = X86ISD::VTRUNC 0x55c2fb9e0360
try.c: 0x55c2fb9e0360: v16i32 = vselect 0x55c2fb9e66d0, 0x55c2fb9687c0, 0x55c2fb9e0230
try.c: 0x55c2fb9e66d0: v4i1 = X86ISD::PCMPGTM 0x55c2fb9c8b30, 0x55c2fb9c46c0
try.c: 0x55c2fb9c8b30: v4i64 = X86ISD::VBROADCAST 0x55c2fb96fef0
try.c: 0x55c2fb96fef0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c2fb8d9950, 0x55c2fb9bb910, undef:i64
try.c: 0x55c2fb9bb910: i64,ch = CopyFromReg 0x55c2fb8d9950, Register:i64 %vreg50
try.c: 0x55c2fb9c4920: i64 = Register %vreg50
try.c: 0x55c2fb9713c0: i64 = undef
try.c: 0x55c2fb9c46c0: v4i64,ch = CopyFromReg 0x55c2fb8d9950, Register:v4i64 %vreg13
try.c: 0x55c2fb9c9380: v4i64 = Register %vreg13
try.c: 0x55c2fb9687c0: v16i32 = X86ISD::VBROADCAST 0x55c2fb9c8d90
try.c: 0x55c2fb9c8d90: i32,ch = load<LD4[ConstantPool]> 0x55c2fb8d9950, 0x55c2fb96f4d0, undef:i64
try.c: 0x55c2fb96f4d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c2fb982bc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c2fb9713c0: i64 = undef
try.c: 0x55c2fb9e0230: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: 0x55c2fb9e0100: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55e8a5a96070: v4i64 = X86ISD::VTRUNC 0x55e8a5a95f40
try.c: 0x55e8a5a95f40: v16i32 = vselect 0x55e8a5a84ad0, 0x55e8a5a2aa20, 0x55e8a5a95e10
try.c: 0x55e8a5a84ad0: v4i1 = X86ISD::PCMPGTM 0x55e8a5a7fa90, 0x55e8a5a7b620
try.c: 0x55e8a5a7fa90: v4i64 = X86ISD::VBROADCAST 0x55e8a5a2aee0
try.c: 0x55e8a5a2aee0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e8a5978a30, 0x55e8a5a12920, undef:i64
try.c: 0x55e8a5a12920: i64,ch = CopyFromReg 0x55e8a5978a30, Register:i64 %vreg50
try.c: 0x55e8a5a7b880: i64 = Register %vreg50
try.c: 0x55e8a5a17390: i64 = undef
try.c: 0x55e8a5a7b620: v4i64,ch = CopyFromReg 0x55e8a5978a30, Register:v4i64 %vreg13
try.c: 0x55e8a5a802e0: v4i64 = Register %vreg13
try.c: 0x55e8a5a2aa20: v16i32 = X86ISD::VBROADCAST 0x55e8a5a7fcf0
try.c: 0x55e8a5a7fcf0: i32,ch = load<LD4[ConstantPool]> 0x55e8a5978a30, 0x55e8a5a2d3c0, undef:i64
try.c: 0x55e8a5a2d3c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e8a5a17d10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e8a5a17390: i64 = undef
try.c: 0x55e8a5a95e10: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: 0x55e8a5a95ce0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55f8eda763b0: v4i64 = X86ISD::VTRUNC 0x55f8eda76280
try.c: 0x55f8eda76280: v16i32 = vselect 0x55f8eda70d80, 0x55f8ed9f9dc0, 0x55f8eda76150
try.c: 0x55f8eda70d80: v4i1 = X86ISD::PCMPGTM 0x55f8eda59a10, 0x55f8eda555a0
try.c: 0x55f8eda59a10: v4i64 = X86ISD::VBROADCAST 0x55f8ed9fdbe0
try.c: 0x55f8ed9fdbe0: i64,ch = load<LD8[%lsr.iv6971]> 0x55f8ed96a930, 0x55f8eda3ee00, undef:i64
try.c: 0x55f8eda3ee00: i64,ch = CopyFromReg 0x55f8ed96a930, Register:i64 %vreg50
try.c: 0x55f8eda55800: i64 = Register %vreg50
try.c: 0x55f8ed9f8430: i64 = undef
try.c: 0x55f8eda555a0: v4i64,ch = CopyFromReg 0x55f8ed96a930, Register:v4i64 %vreg13
try.c: 0x55f8eda5a260: v4i64 = Register %vreg13
try.c: 0x55f8ed9f9dc0: v16i32 = X86ISD::VBROADCAST 0x55f8eda59c70
try.c: 0x55f8eda59c70: i32,ch = load<LD4[ConstantPool]> 0x55f8ed96a930, 0x55f8ed9fd1c0, undef:i64
try.c: 0x55f8ed9fd1c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f8eda141e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f8ed9f8430: i64 = undef
try.c: 0x55f8eda76150: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: 0x55f8eda76020: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref