gcc是否不能进行SSSE3汇编?
dwing吧
全部回复
仅看楼主
level 12
zj262144 楼主
如图
-mssse3改成-msse3就好了
这是不是说明gcc还无法进行SSSE3汇编?
或者说如果要想弄SSSE3汇编的话,必须使用MSVC2010+ICL12这样的编译器组合?
2011年04月29日 10点04分 1
level 14
你的gcc版本?
我这里支持,不过得看你的CPU支持否(得core2以上)?
2011年04月29日 15点04分 2
level 12
zj262144 楼主
4.5.2
cpu是支持的
2011年04月29日 15点04分 3
level 14
有测试代码和工程(makefile)么?
2011年04月30日 08点04分 4
level 12
zj262144 楼主
正准备上传
再次测试发现居然又能用了,而且没法重试昨天的那张图的提示……
工程是direct264里的x264(svn co https://direct264.svn.sourceforge.net/svnroot/direct264/x264 x264)
当时是configure时用了--extra-cflags="-march=core2 -mtune=native -msse2 -mssse3"就提示1楼那张图的信息,把-mssse3改成-msse3就通过configure了
不过现在又不提示,确实是能make了……汗。。不知道这是什么原因,不过现在没问题了也好……
麻烦了,如果再次遇到我再上传代码给看看
2011年04月30日 11点04分 5
level 6
这个步骤的相关configure脚本:
     if ! cc_check '' '' '__asm__("pabsw %xmm0, %xmm0");' ; then
         VER=`(${cross_prefix}as --version || echo no gnu as) 2>/dev/null | head -n 1`
         echo "Found $VER"
         echo "Minimum version is binutils-2.17"
         echo "Your compiler can't handle inline SSSE3 asm."
         echo "If you really want to compile without asm, configure with --disable-asm."
         exit 1
     fi
     define HAVE_MMX
2011年04月30日 11点04分 6
level 6
binutils版本显然符合要求,那么就是cc_check的问题了。
2011年04月30日 11点04分 7
level 12
zj262144 楼主
话说我一直以为这些简单判定性质的东西应该没那么容易出问题
是因为我用msys的缘故?
2011年04月30日 11点04分 8
level 14
难说,你得看那个cc_check是啥,不过看表面情形,这个是检测内嵌汇编指令而已。
msys对有些不准(特别是对cygwin脚本依赖比较多的情形,比如atlas),大多数情况还是适用的。如果是x264,那么应该msys+mingw gcc编译也比较正常。
2011年05月01日 14点05分 9
level 9
这些东西其实都不用加的,有-march=core2就够了
2011年05月01日 15点05分 10
level 8
米错,官方为CPU制定的选项刚刚好,设定CPU即可,一般不用自己调。
2011年05月01日 16点05分 11
level 14
这个开关在x86上不会开启 -mfpmath=sse,这个开关可以酌情使用
2011年05月02日 03点05分 12
level 9
x264里会自动开启-mfpmath=sse
2011年05月02日 04点05分 13
level 12
zj262144 楼主
其实我主要就-mssse3通不过configure觉得很奇怪,现在想来在这之前给官方x264做configure的一些莫名其妙的问题似乎也是概率性质的问题,没法绝对重现,难怪x264.nl也会出现编译失败的问题
march这块算是弄清楚了,感谢各位
等4.6.x足够稳定了就换,-Ofast看起来挺诱人的样子
2011年05月02日 04点05分 14
level 14
这个没什么意思的
-Ofast = -O3 -ffast-math
而-ffast-math对要求计算精度的场合会不适用的(可能导致错误的结果)
4.6比4.5成熟的地方对性能优化来说只有lto(尤其是lto插件)
2011年05月02日 08点05分 15
level 9
-ffast-math应该只对浮点数起作用。像x264里的浮点运算,很多时候有个10bit的精度就够了,连float都多余。
2011年05月02日 09点05分 16
1