红联Linux门户
Linux帮助

can't find a register in class 'GENERAL_REGS' while reloading 'asm'

发布时间:2010-06-08 15:17:44来源:红联作者:hallowwar
#make
dct64_sse.c:73: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
dct64_sse.c:73: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
dct64_sse.c:102: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
dct64_sse.c:48: error: 'asm' operand has impossible constraints
dct64_sse.c:48: error: 'asm' operand has impossible constraints
dct64_sse.c:48: error: 'asm' operand has impossible constraints
dct64_sse.c:48: error: 'asm' operand has impossible constraints

dct64_sse.c摘录如下:
33 void dct64_sse(real *a,real *b,real *c)
34 {
35 static real __attribute__ ((aligned(16))) b1[0x20];
36 static real __attribute__ ((aligned(16))) b2[0x20];
37 static real const one = 1.f;
38
39 short *out0 = (short*)a;
40 short *out1 = (short*)b;
41
42 {
43 real *costab = costab_mmx;
44 int i;
45
46 for (i = 0; i < 0x20 / 2; i += 4)
47 {
48 asm(
49 "movaps %2, %%xmm3\n\t"
50 "shufps $27, %%xmm3, %%xmm3\n\t"
51 "movups %3, %%xmm1\n\t"

我查了网上有如下说的:
export CFLAGS=-fomit-frame-pointer
但依然没有解决,Google也不好搜,这个问题难道过于容易了?请大侠指点一下,搞了好久了,无从下手啊。
多谢。
文章评论

共有 5 条评论

  1. shenhao0129 于 2010-06-11 13:29:57发表:

    这个是你自己写的还是下载的源代码?是个什程序的?

  2. deepwhite 于 2010-06-11 09:18:12发表:

    你装的什么东东?要不发一下我们也试试??
    还有,把你的platform描述一下。

  3. hallowwar 于 2010-06-10 08:37:44发表:

    继续问一下,问题还没有解决。

  4. hallowwar 于 2010-06-09 11:44:39发表:

    引用:
    configure的时候看看Help,能否把pic禁用。如果能的话,禁用pic,再试试。

    http://gcc.gnu.org/ml/gcc-help/2007-04/msg00205.html
    deepwhite 发表于 2010-6-9 09:18


    configure 的帮助里面没有提及这点,我进入Makefile里面增加了fpic的gcc选项,报错。

  5. deepwhite 于 2010-06-09 09:18:53发表:

    configure的时候看看Help,能否把pic禁用。如果能的话,禁用pic,再试试。

    http://gcc.gnu.org/ml/gcc-help/2007-04/msg00205.html