mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-07 05:50:29 +01:00
util: Don't use x86 asm on x86_64.
This commit is contained in:
parent
079be0fd3f
commit
8c4bd92b68
4 changed files with 21 additions and 16 deletions
|
|
@ -169,18 +169,18 @@ void debug_print_blob( const char *name,
|
|||
#endif
|
||||
|
||||
|
||||
void _debug_break(void)
|
||||
#ifndef debug_break
|
||||
void debug_break(void)
|
||||
{
|
||||
#if defined(PIPE_ARCH_X86) && defined(PIPE_CC_GCC)
|
||||
__asm("int3");
|
||||
#elif defined(PIPE_ARCH_X86) && defined(PIPE_CC_MSVC)
|
||||
_asm {int 3};
|
||||
#if defined(PIPE_SUBSYSTEM_WINDOWS_USER)
|
||||
DebugBreak();
|
||||
#elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY)
|
||||
EngDebugBreak();
|
||||
#else
|
||||
abort();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef PIPE_SUBSYSTEM_WINDOWS_DISPLAY
|
||||
|
|
|
|||
|
|
@ -125,19 +125,16 @@ void debug_print_format(const char *msg, unsigned fmt );
|
|||
#endif
|
||||
|
||||
|
||||
void _debug_break(void);
|
||||
|
||||
|
||||
/**
|
||||
* Hard-coded breakpoint.
|
||||
*/
|
||||
#ifdef DEBUG
|
||||
#if defined(PIPE_ARCH_X86) && defined(PIPE_CC_GCC)
|
||||
#define debug_break() __asm("int3")
|
||||
#elif defined(PIPE_ARCH_X86) && defined(PIPE_CC_MSVC)
|
||||
#define debug_break() do { _asm {int 3} } while(0)
|
||||
#elif defined(PIPE_CC_MSVC)
|
||||
#define debug_break() __debugbreak()
|
||||
#else
|
||||
#define debug_break() _debug_break()
|
||||
void debug_break(void);
|
||||
#endif
|
||||
#else /* !DEBUG */
|
||||
#define debug_break() ((void)0)
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ debug_backtrace_capture(struct debug_stack_frame *backtrace,
|
|||
|
||||
#if defined(PIPE_CC_GCC)
|
||||
frame_pointer = ((const void **)__builtin_frame_address(1));
|
||||
#elif defined(PIPE_CC_MSVC)
|
||||
#elif defined(PIPE_CC_MSVC) && defined(PIPE_ARCH_X86)
|
||||
__asm {
|
||||
mov frame_pointer, ebp
|
||||
}
|
||||
|
|
|
|||
|
|
@ -319,11 +319,21 @@ util_iround(float f)
|
|||
|
||||
|
||||
|
||||
#if defined(PIPE_CC_MSVC) && defined(PIPE_ARCH_X86)
|
||||
/**
|
||||
* Find first bit set in word. Least significant bit is 1.
|
||||
* Return 0 if no bits set.
|
||||
*/
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1300
|
||||
static INLINE
|
||||
unsigned long ffs( unsigned long u )
|
||||
{
|
||||
unsigned long i;
|
||||
if(_BitScanForward(&i, u))
|
||||
return i + 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
#elif defined(PIPE_CC_MSVC) && defined(PIPE_ARCH_X86)
|
||||
static INLINE
|
||||
unsigned ffs( unsigned u )
|
||||
{
|
||||
|
|
@ -339,9 +349,7 @@ unsigned ffs( unsigned u )
|
|||
|
||||
return i;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#elif defined(__MINGW32__)
|
||||
#define ffs __builtin_ffs
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue