http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48397

Zdenek Sojka <zsojka at seznam dot cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|gcc.target/i386/pr46419.c   |gcc.target/i386/pr46419.c
                   |FAILs with                  |FAILs with
                   |-fsched2-use-superblocks    |-fsched2-use-superblocks -
                   |-fno-tree-loop-ivcanon      |mixing FPU and MMX code
                   |--param                     |without emms
                   |max-predicted-iterations=1  |
                   |-m32                        |

--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> 2011-04-03 17:30:28 
UTC ---
Another, different set of flags to reproduce the failure:
$ gcc -O -fsched2-use-superblocks -fschedule-insns2 --param
max-jump-thread-duplication-stmts=1 -m32 testcase.c
$ ./a.out 
Aborted

In this case, x87 and MMX and SSE instructions are mixed in the code:

...
.L8:
    pxor    mm0, mm0    # tmp148
    movq    mm1, QWORD PTR [esp+8]    # tmp147, %sfp
    xorps    xmm0, xmm0    # tmp155
    punpcklbw    mm1, mm0    # tmp147, tmp148
    pxor    mm0, mm0    # tmp151
    fld    DWORD PTR .LC1    #
    fld    DWORD PTR [esp+20]    # out
    fucomip    st, st(1)    #,
    fstp    st(0)    #
    fld    DWORD PTR .LC2    #
    jp    .L10    #,
    movq    mm2, mm1    # tmp150, D.6008
    punpcklwd    mm2, mm0    # tmp150, tmp151
    fld    DWORD PTR [esp+24]    # out
    punpckhwd    mm1, mm0    # tmp152, tmp151
    jne    .L11    #,
...

Reply via email to