Wed Mar 22 16:28:46 2006 Søren Sandmann <sandmann@redhat.com>
Use inline assembly for copy area, since gcc doesn't generate movq
    instructions.
			
			
This commit is contained in:
		
							parent
							
								
									5b3084c64f
								
							
						
					
					
						commit
						5449634e3c
					
				|  | @ -1,3 +1,8 @@ | |||
| Wed Mar 22 16:28:46 2006  Søren Sandmann  <sandmann@redhat.com> | ||||
| 
 | ||||
| 	* fb/fbmmx.c (fbCopyAreammx): Use inline assembly for copy area, | ||||
| 	since gcc doesn't generate movq instructions. | ||||
| 
 | ||||
| Wed Mar 22 16:05:09 2006  Søren Sandmann  <sandmann@redhat.com> | ||||
| 
 | ||||
| 	* fb/fbmmx.c (fbSolidFillmmx): Use inline assembly for solid | ||||
|  |  | |||
							
								
								
									
										32
									
								
								fb/fbmmx.c
								
								
								
								
							
							
						
						
									
										32
									
								
								fb/fbmmx.c
								
								
								
								
							|  | @ -2235,14 +2235,30 @@ fbCopyAreammx (DrawablePtr	pSrc, | |||
| 	 | ||||
| 	while (w >= 64) | ||||
| 	{ | ||||
| 	    *(__m64 *)(d + 0)  = *(__m64 *)(s + 0); | ||||
| 	    *(__m64 *)(d + 8)  = *(__m64 *)(s + 8); | ||||
| 	    *(__m64 *)(d + 16) = *(__m64 *)(s + 16); | ||||
| 	    *(__m64 *)(d + 24) = *(__m64 *)(s + 24); | ||||
| 	    *(__m64 *)(d + 32) = *(__m64 *)(s + 32); | ||||
| 	    *(__m64 *)(d + 40) = *(__m64 *)(s + 40); | ||||
| 	    *(__m64 *)(d + 48) = *(__m64 *)(s + 48); | ||||
| 	    *(__m64 *)(d + 56) = *(__m64 *)(s + 56); | ||||
| 	    __asm__ ( | ||||
| 		"movq	  (%1),	  %%mm0\n" | ||||
| 		"movq	 8(%1),	  %%mm1\n" | ||||
| 		"movq	16(%1),	  %%mm2\n" | ||||
| 		"movq	24(%1),	  %%mm3\n" | ||||
| 		"movq	32(%1),	  %%mm4\n" | ||||
| 		"movq	40(%1),	  %%mm5\n" | ||||
| 		"movq	48(%1),	  %%mm6\n" | ||||
| 		"movq	56(%1),	  %%mm7\n" | ||||
| 
 | ||||
| 		"movq	%%mm0,	  (%0)\n" | ||||
| 		"movq	%%mm1,	 8(%0)\n" | ||||
| 		"movq	%%mm2,	16(%0)\n" | ||||
| 		"movq	%%mm3,	24(%0)\n" | ||||
| 		"movq	%%mm4,	32(%0)\n" | ||||
| 		"movq	%%mm5,	40(%0)\n" | ||||
| 		"movq	%%mm6,	48(%0)\n" | ||||
| 		"movq	%%mm7,	56(%0)\n" | ||||
| 		: | ||||
| 		: "r" (d), "r" (s) | ||||
| 		: "memory", | ||||
| 		  "%mm0", "%mm1", "%mm2", "%mm3", | ||||
| 		  "%mm4", "%mm5", "%mm6", "%mm7"); | ||||
| 	     | ||||
| 	    w -= 64; | ||||
| 	    s += 64; | ||||
| 	    d += 64; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue