mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	pcm dmix plugin: fix MIX_AREAS_24 routine for i386 & x86_64 platforms
The code was copied from ALSA bug#4577 from CannibalZerg. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
		
							parent
							
								
									e5ca075cde
								
							
						
					
					
						commit
						e94f3cfdf9
					
				
					 2 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
					@ -400,8 +400,8 @@ static void MIX_AREAS_24(unsigned int size,
 | 
				
			||||||
		"\tmovzwl (%%esi), %%ecx\n"
 | 
							"\tmovzwl (%%esi), %%ecx\n"
 | 
				
			||||||
		"\tmovl (%%ebx), %%edx\n"
 | 
							"\tmovl (%%ebx), %%edx\n"
 | 
				
			||||||
		"\tsall $16, %%eax\n"
 | 
							"\tsall $16, %%eax\n"
 | 
				
			||||||
 | 
							"\torl %%eax, %%ecx\n"
 | 
				
			||||||
		"\t" LOCK_PREFIX "btsw $0, (%%edi)\n"
 | 
							"\t" LOCK_PREFIX "btsw $0, (%%edi)\n"
 | 
				
			||||||
		"\tleal (%%ecx,%%eax,1), %%ecx\n"
 | 
					 | 
				
			||||||
		"\tjc 2f\n"
 | 
							"\tjc 2f\n"
 | 
				
			||||||
		"\t" XSUB " %%edx, %%ecx\n"
 | 
							"\t" XSUB " %%edx, %%ecx\n"
 | 
				
			||||||
		"2:"
 | 
							"2:"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -284,11 +284,11 @@ static void MIX_AREAS_24(unsigned int size,
 | 
				
			||||||
		 *   *sum += sample;
 | 
							 *   *sum += sample;
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		"\tmovsbl 2(%%rsi), %%eax\n"
 | 
							"\tmovsbl 2(%%rsi), %%eax\n"
 | 
				
			||||||
		"\tmovswl (%%rsi), %%ecx\n"
 | 
							"\tmovzwl (%%rsi), %%ecx\n"
 | 
				
			||||||
		"\tmovl (%%rbx), %%edx\n"
 | 
							"\tmovl (%%rbx), %%edx\n"
 | 
				
			||||||
		"\tsall $16, %%eax\n"
 | 
							"\tsall $16, %%eax\n"
 | 
				
			||||||
 | 
							"\torl %%eax, %%ecx\n"
 | 
				
			||||||
		"\t" LOCK_PREFIX "btsw $0, (%%rdi)\n"
 | 
							"\t" LOCK_PREFIX "btsw $0, (%%rdi)\n"
 | 
				
			||||||
		"\t.byte 0x67, 0x8d, 0x0c, 0x01\n"
 | 
					 | 
				
			||||||
		"\tjc 2f\n"
 | 
							"\tjc 2f\n"
 | 
				
			||||||
		"\t" XSUB " %%edx, %%ecx\n"
 | 
							"\t" XSUB " %%edx, %%ecx\n"
 | 
				
			||||||
		"2:"
 | 
							"2:"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue