मैं -mfpu
ध्वज के बारे में जवाब नहीं दे सकता , लेकिन मैं पहले ये आज़माना चाहूँगा:
-march=native
-mcpu=native
-mtune=native
जैसा कि रिपोर्ट किया गया है GCC manual page related to ARM options
:
मार्च = देशी कंपाइलर का निर्माण कंप्यूटर के आर्किटेक्चर का स्वत: पता लगाने का कारण बनता है। वर्तमान में, यह सुविधा केवल लिनक्स पर समर्थित है, और सभी आर्किटेक्चर मान्यता प्राप्त नहीं हैं। यदि ऑटो-डिटेक्ट असफल है तो विकल्प का कोई प्रभाव नहीं पड़ता है।
-mcpu = देशी कंपाइलर का निर्माण कंप्यूटर के CPU का पता लगाने का कारण बनता है। वर्तमान में, यह सुविधा केवल लिनक्स पर समर्थित है, और सभी आर्किटेक्चर मान्यता प्राप्त नहीं हैं। यदि ऑटो-डिटेक्ट असफल है तो विकल्प का कोई प्रभाव नहीं पड़ता है।
-mtune = देशी कंपाइलर का निर्माण कंप्यूटर के CPU का पता लगाता है। वर्तमान में, यह सुविधा केवल लिनक्स पर समर्थित है, और सभी आर्किटेक्चर मान्यता प्राप्त नहीं हैं। यदि ऑटो-डिटेक्ट असफल है तो विकल्प का कोई प्रभाव नहीं पड़ता है।
फिर आप जोड़ सकते हैं -Q -v
GCC flags
देखने के लिए अपने साथ हैं कि क्या अनुकूलन सक्षम हैं और यदि आवश्यक हो तो आगे अनुकूलन के लिए आगे बढ़ें।
यह -march=native
मेरी रास्पबेरी पाई पर एक नमूना कार्यक्रम के साथ उपयोग करने वाला आउटपुट है :
#> gcc -march=native -Q -v test.c -o test
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-8+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-8+rpi1)
COLLECT_GCC_OPTIONS='-march=native' '-Q' '-v' '-o' 'test' '-mfloat-abi=hard' '-mfpu=vfp'
/usr/lib/gcc/arm-linux-gnueabihf/4.6/cc1 -v -imultilib . -imultiarch arm-linux-gnueabihf test.c -dumpbase test.c -march=native -mfloat-abi=hard -mfpu=vfp -auxbase test -version -o /tmp/cc1rCJ4W.s
cc1: error: bad value (native) for -march switch
GNU C (Debian 4.6.3-8+rpi1) version 4.6.3 (arm-linux-gnueabihf)
compiled by GNU C version 4.6.3, GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=38 --param ggc-min-heapsize=15522
ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf"
ignoring nonexistent directory "/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../../arm-linux-gnueabihf/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/arm-linux-gnueabihf/4.6/include
/usr/local/include
/usr/lib/gcc/arm-linux-gnueabihf/4.6/include-fixed
/usr/include/arm-linux-gnueabihf
/usr/include
End of search list.
GNU C (Debian 4.6.3-8+rpi1) version 4.6.3 (arm-linux-gnueabihf)
compiled by GNU C version 4.6.3, GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=38 --param ggc-min-heapsize=15522
options passed: -v -imultilib . -imultiarch arm-linux-gnueabihf test.c
-march=native -mfloat-abi=hard -mfpu=vfp
options enabled: -fauto-inc-dec -fbranch-count-reg -fcommon
-fdelete-null-pointer-checks -fdwarf2-cfi-asm -fearly-inlining
-feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fident
-finline-functions-called-once -fira-share-save-slots
-fira-share-spill-slots -fivopts -fkeep-static-consts -fleading-underscore
-fmath-errno -fmerge-debug-strings -fmove-loop-invariants -fpeephole
-fprefetch-loop-arrays -freg-struct-return -fsched-critical-path-heuristic
-fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
-fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
-fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fshow-column
-fsigned-zeros -fsplit-ivs-in-unroller -fstrict-volatile-bitfields
-ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-if-convert
-ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
-ftree-parallelize-loops= -ftree-phiprop -ftree-pta -ftree-reassoc
-ftree-scev-cprop -ftree-slp-vectorize -ftree-vect-loop-version
-funit-at-a-time -fvar-tracking -fvar-tracking-assignments
-fzero-initialized-in-bss -mglibc -mlittle-endian -msched-prolog
Execution times (seconds)
TOTAL : 0.00 0.00 0.00 8 kB
gcc -mcpu=native -march=native -Q --help=target
मुझे*** Error in
gcc देता है ': डबल फ्री या करप्शन (टॉप): 0x0020c5a8 *** `, रास्पियन जेसी 4.4.13-v7 +, armv7l पर।