mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	Optimized signbit{,f} for x86-64.
This commit is contained in:
		@@ -1,5 +1,8 @@
 | 
				
			|||||||
2009-08-25  Ulrich Drepper  <drepper@redhat.com>
 | 
					2009-08-25  Ulrich Drepper  <drepper@redhat.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* sysdeps/x86_64/fpu/s_signbit.S: New file.
 | 
				
			||||||
 | 
						* sysdeps/x86_64/fpu/s_signbitf.S: New file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: New file.
 | 
						* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: New file.
 | 
				
			||||||
	* sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: New file.
 | 
						* sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: New file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										27
									
								
								sysdeps/x86_64/fpu/s_signbit.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								sysdeps/x86_64/fpu/s_signbit.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/* Return nonzero value if number is negative.
 | 
				
			||||||
 | 
					   Copyright (C) 2009 Free Software Foundation, Inc.
 | 
				
			||||||
 | 
					   This file is part of the GNU C Library.
 | 
				
			||||||
 | 
					   Contributed by Ulrich Drepper <drepper@redha.com>, 2009.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The GNU C Library is free software; you can redistribute it and/or
 | 
				
			||||||
 | 
					   modify it under the terms of the GNU Lesser General Public
 | 
				
			||||||
 | 
					   License as published by the Free Software Foundation; either
 | 
				
			||||||
 | 
					   version 2.1 of the License, or (at your option) any later version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The GNU C Library is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
				
			||||||
 | 
					   Lesser General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   You should have received a copy of the GNU Lesser General Public
 | 
				
			||||||
 | 
					   License along with the GNU C Library; if not, write to the Free
 | 
				
			||||||
 | 
					   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 | 
				
			||||||
 | 
					   02111-1307 USA.  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <sysdep.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(__signbit)
 | 
				
			||||||
 | 
						pmovmskb %xmm0, %eax
 | 
				
			||||||
 | 
						andl	$0x80, %eax
 | 
				
			||||||
 | 
						ret
 | 
				
			||||||
 | 
					END(__signbit)
 | 
				
			||||||
							
								
								
									
										27
									
								
								sysdeps/x86_64/fpu/s_signbitf.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								sysdeps/x86_64/fpu/s_signbitf.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/* Return nonzero value if number is negative.
 | 
				
			||||||
 | 
					   Copyright (C) 2009 Free Software Foundation, Inc.
 | 
				
			||||||
 | 
					   This file is part of the GNU C Library.
 | 
				
			||||||
 | 
					   Contributed by Ulrich Drepper <drepper@redha.com>, 2009.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The GNU C Library is free software; you can redistribute it and/or
 | 
				
			||||||
 | 
					   modify it under the terms of the GNU Lesser General Public
 | 
				
			||||||
 | 
					   License as published by the Free Software Foundation; either
 | 
				
			||||||
 | 
					   version 2.1 of the License, or (at your option) any later version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The GNU C Library is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
				
			||||||
 | 
					   Lesser General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   You should have received a copy of the GNU Lesser General Public
 | 
				
			||||||
 | 
					   License along with the GNU C Library; if not, write to the Free
 | 
				
			||||||
 | 
					   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 | 
				
			||||||
 | 
					   02111-1307 USA.  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <sysdep.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(__signbitf)
 | 
				
			||||||
 | 
						pmovmskb %xmm0, %eax
 | 
				
			||||||
 | 
						andl	$0x8, %eax
 | 
				
			||||||
 | 
						ret
 | 
				
			||||||
 | 
					END(__signbitf)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user