Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2c713d6

Browse files
committed
Remove theoretically-unnecessary special case for icc.
Intel's icc is generally able to swallow asm blocks written for gcc.We have a few places that don't seem to know that, though. Experimentwith removing the special case for icc in ia64_get_bsp(); if the buildfarmlikes this, I'll try more cleanup. This is a good test case because itinvolves a "stop" notation that seems like it might not be very portable.
1 parenta65e086 commit2c713d6

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

‎src/backend/tcop/postgres.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2997,33 +2997,27 @@ ProcessInterrupts(void)
29972997
/*
29982998
* IA64-specific code to fetch the AR.BSP register for stack depth checks.
29992999
*
3000-
* We currently support gcc, icc, and HP-UX inline assembly here.
3000+
* We currently support gcc, icc, and HP-UX's native compiler here.
30013001
*/
30023002
#if defined(__ia64__)|| defined(__ia64)
30033003

3004-
#if defined(__hpux)&& !defined(__GNUC__)&& !defined__INTEL_COMPILER
3004+
#if defined(__hpux)&& !defined(__GNUC__)&& !defined(__INTEL_COMPILER)
3005+
/* Assume it's HP-UX native compiler */
30053006
#include<ia64/sys/inline.h>
30063007
#defineia64_get_bsp() ((char *) (_Asm_mov_from_ar(_AREG_BSP, _NO_FENCE)))
30073008
#else
3008-
3009-
#ifdef__INTEL_COMPILER
3010-
#include<asm/ia64regs.h>
3011-
#endif
3012-
3009+
/* Use inline assembly; works with gcc and icc */
30133010
static __inline__char*
30143011
ia64_get_bsp(void)
30153012
{
30163013
char*ret;
30173014

3018-
#ifndef__INTEL_COMPILER
30193015
/* the ;; is a "stop", seems to be required before fetching BSP */
30203016
__asm____volatile__(
30213017
";;\n"
30223018
"mov%0=ar.bsp\n"
30233019
:"=r"(ret));
3024-
#else
3025-
ret= (char*)__getReg(_IA64_REG_AR_BSP);
3026-
#endif
3020+
30273021
returnret;
30283022
}
30293023
#endif

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp