Mesa (master): amd/addrlib: prevent defining regparm differently
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Mar 25 23:56:01 UTC 2021
Module: Mesa
Branch: master
Commit: 1d69c0419b39952ec9ad869fbec58be1c033cdb6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d69c0419b39952ec9ad869fbec58be1c033cdb6
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Mar 17 16:37:47 2021 -0400
amd/addrlib: prevent defining regparm differently
Define it in meson, so addrlib won't define it.
This is adding back the addrlib original code.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9668>
---
src/amd/addrlib/inc/addrtypes.h | 9 ++++++---
src/amd/addrlib/meson.build | 3 ++-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/amd/addrlib/inc/addrtypes.h b/src/amd/addrlib/inc/addrtypes.h
index 5524f67cd45..095fc27ad34 100644
--- a/src/amd/addrlib/inc/addrtypes.h
+++ b/src/amd/addrlib/inc/addrtypes.h
@@ -87,9 +87,12 @@ typedef int INT;
#endif
#ifndef ADDR_FASTCALL
- #if defined(__GNUC__) || defined(BRAHMA_ARM)
- // We don't care about the performance of call instructions in addrlib
- #define ADDR_FASTCALL
+ #if defined(__GNUC__)
+ #if defined(__i386__) || defined(__amd64__) || defined(__x86_64__)
+ #define ADDR_FASTCALL __attribute__((regparm(0)))
+ #else
+ #define ADDR_FASTCALL
+ #endif
#else
#define ADDR_FASTCALL __fastcall
#endif
diff --git a/src/amd/addrlib/meson.build b/src/amd/addrlib/meson.build
index f396c86211a..7609cc94eb3 100644
--- a/src/amd/addrlib/meson.build
+++ b/src/amd/addrlib/meson.build
@@ -52,7 +52,8 @@ files_addrlib = files(
'src/r800/siaddrlib.h',
)
-cpp_args_addrlib = []
+# Skip the addrlib definition of ADDR_FASTCALL so as not to use regparm.
+cpp_args_addrlib = ['-DADDR_FASTCALL=']
foreach w : ['-Wno-unused-variable', '-Wno-unused-local-typedefs',
'-Wno-unused-but-set-variable', '-Wno-maybe-uninitialized']
if cpp.has_argument(w)
More information about the mesa-commit
mailing list