src/audio/SDL_mixer_MMX.c
changeset 3628 4d46850be3f6
parent 2859 99210400e8b9
child 3697 f7b03b6838cb
equal deleted inserted replaced
3627:631173ffd68f 3628:4d46850be3f6
    33 
    33 
    34 /***********************************************
    34 /***********************************************
    35 *   Mixing for 16 bit signed buffers
    35 *   Mixing for 16 bit signed buffers
    36 ***********************************************/
    36 ***********************************************/
    37 
    37 
       
    38 #if defined(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */
    38 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
    39 #if defined(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)
    39 void
    40 void
    40 SDL_MixAudio_MMX_S16(char *dst, char *src, unsigned int size, int volume)
    41 SDL_MixAudio_MMX_S16(char *dst, char *src, unsigned int size, int volume)
    41 {
    42 {
    42     __asm__ __volatile__("	movl %3,%%eax\n"        /* eax = volume */
    43     __asm__ __volatile__("	movl %3,%%eax\n"        /* eax = volume */
   115                          ".endS8:\n"
   116                          ".endS8:\n"
   116                          "	emms\n"::"r"(dst), "r"(src), "m"(size),
   117                          "	emms\n"::"r"(dst), "r"(src), "m"(size),
   117                          "m"(volume):"eax", "edx", "memory");
   118                          "m"(volume):"eax", "edx", "memory");
   118 }
   119 }
   119 #endif
   120 #endif
       
   121 
       
   122 #endif /* SDL_BUGGY_MMX_MIXERS */
       
   123 
   120 /* vi: set ts=4 sw=4 expandtab: */
   124 /* vi: set ts=4 sw=4 expandtab: */