summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward Welbourne <[email protected]>2024-06-11 18:17:20 +0200
committerEdward Welbourne <[email protected]>2024-07-11 15:57:50 +0200
commited7becd9cba582640f19704b5c439e5f6807bc29 (patch)
tree22897e12a9eb7d178930ed4858f4c557c432fad5
parent31adb73e289d1bd93276af2b1df9bc356ba14766 (diff)
Replace a renaming in a third-party file with a #define
Our use of the clock-cycle counter from FFTW involved a rename of its type ticks to our type CycleCounterTicks. This unnaturally bulks up the diff from upstream, so undo it and use a simple #define to achieve the same effect, as seen by our code. Pick-to: 6.8 Task-number: QTBUG-126080 Change-Id: Icbe9c413b73dd9213b95f183b71585f4a9c38de1 Reviewed-by: Kai Köhne <[email protected]>
-rw-r--r--src/testlib/3rdparty/cycle/cycle_p.h120
1 files changed, 61 insertions, 59 deletions
diff --git a/src/testlib/3rdparty/cycle/cycle_p.h b/src/testlib/3rdparty/cycle/cycle_p.h
index 95e741a82a0..44d7b704368 100644
--- a/src/testlib/3rdparty/cycle/cycle_p.h
+++ b/src/testlib/3rdparty/cycle/cycle_p.h
@@ -31,12 +31,12 @@
/* To use the cycle counters in your code, simply #include "cycle.h" (this
file), and then use the functions/macros:
- CycleCounterTicks getticks(void);
+ ticks getticks(void);
- CycleCounterTicks is an opaque typedef defined below, representing the current time.
+ ticks is an opaque typedef defined below, representing the current time.
You extract the elapsed time between two calls to gettick() via:
- double elapsed(CycleCounterTicks t1, CycleCounterTicks t0);
+ double elapsed(ticks t1, ticks t0);
which returns a double-precision variable in arbitrary units. You
are not expected to convert this into human units like seconds; it
@@ -77,10 +77,11 @@
dnl ---------------------------------------------------------------------
*/
-/***************************************************************************/
-
#ifndef QBENCHLIB_CYCLE_H
#define QBENCHLIB_CYCLE_H
+#define ticks CycleCounterTicks
+
+/***************************************************************************/
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
@@ -93,7 +94,7 @@
# endif
#endif
-#define INLINE_ELAPSED(INL) static INL double elapsed(CycleCounterTicks t1, CycleCounterTicks t0) \
+#define INLINE_ELAPSED(INL) static INL double elapsed(ticks t1, ticks t0) \
{ \
return (double)(t1 - t0); \
}
@@ -101,7 +102,7 @@
/*----------------------------------------------------------------*/
/* Solaris */
#if defined(HAVE_GETHRTIME) && defined(HAVE_HRTIME_T) && !defined(HAVE_TICK_COUNTER)
-typedef hrtime_t CycleCounterTicks;
+typedef hrtime_t ticks;
#define getticks gethrtime
@@ -113,16 +114,16 @@ INLINE_ELAPSED(inline)
/*----------------------------------------------------------------*/
/* AIX v. 4+ routines to read the real-time clock or time-base register */
#if defined(HAVE_READ_REAL_TIME) && defined(HAVE_TIME_BASE_TO_TIME) && !defined(HAVE_TICK_COUNTER)
-typedef timebasestruct_t CycleCounterTicks;
+typedef timebasestruct_t ticks;
-static inline CycleCounterTicks getticks(void)
+static inline ticks getticks(void)
{
- CycleCounterTicks t;
+ ticks t;
read_real_time(&t, TIMEBASE_SZ);
return t;
}
-static inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0) /* time in nanoseconds */
+static inline double elapsed(ticks t1, ticks t0) /* time in nanoseconds */
{
time_base_to_time(&t1, TIMEBASE_SZ);
time_base_to_time(&t0, TIMEBASE_SZ);
@@ -137,9 +138,9 @@ static inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0) /* time
* PowerPC ``cycle'' counter using the time base register.
*/
#if ((defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))) || (defined(__MWERKS__) && defined(macintosh))) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long long CycleCounterTicks;
+typedef unsigned long long ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
unsigned int tbl, tbu0, tbu1;
@@ -161,7 +162,7 @@ INLINE_ELAPSED(__inline__)
from Carbon, requires no additional libraries to be linked). */
#if defined(HAVE_MACH_ABSOLUTE_TIME) && defined(HAVE_MACH_MACH_TIME_H) && !defined(HAVE_TICK_COUNTER)
#include <mach/mach_time.h>
-typedef uint64_t CycleCounterTicks;
+typedef uint64_t ticks;
#define getticks mach_absolute_time
INLINE_ELAPSED(__inline__)
#define HAVE_TICK_COUNTER
@@ -172,11 +173,11 @@ INLINE_ELAPSED(__inline__)
* Pentium cycle counter
*/
#if (defined(__GNUC__) || defined(__ICC)) && defined(__i386__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long long CycleCounterTicks;
+typedef unsigned long long ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
- CycleCounterTicks ret;
+ ticks ret;
__asm__ __volatile__("rdtsc": "=A" (ret));
/* no input, nothing else clobbered */
@@ -193,12 +194,12 @@ INLINE_ELAPSED(__inline__)
#if defined(_MSC_VER)
#if _MSC_VER >= 1200 && (_M_IX86 >= 500 || (defined(_WIN32_WCE) && defined(_X86_))) && !defined(HAVE_TICK_COUNTER)
#include <windows.h>
-typedef LARGE_INTEGER CycleCounterTicks;
+typedef LARGE_INTEGER ticks;
#define RDTSC __asm __emit 0fh __asm __emit 031h /* hack for VC++ 5.0 */
-static __inline CycleCounterTicks getticks(void)
+static __inline ticks getticks(void)
{
- CycleCounterTicks retval;
+ ticks retval;
__asm {
RDTSC
@@ -208,7 +209,7 @@ static __inline CycleCounterTicks getticks(void)
return retval;
}
-static __inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0)
+static __inline double elapsed(ticks t1, ticks t0)
{
return (double)(t1.QuadPart - t0.QuadPart);
}
@@ -220,14 +221,14 @@ static __inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0)
#if _MSC_VER >= 1400 && defined(_WIN32_WCE) && !defined(HAVE_TICK_COUNTER)
#include <windows.h>
-typedef DWORD CycleCounterTicks;
+typedef DWORD ticks;
-static __inline CycleCounterTicks getticks(void)
+static __inline ticks getticks(void)
{
return GetTickCount();
}
-static __inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0)
+static __inline double elapsed(ticks t1, ticks t0)
{
return (double)(t1 - t0);
}
@@ -241,13 +242,13 @@ static __inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0)
* X86-64 cycle counter
*/
#if (defined(__GNUC__) || defined(__ICC)) && defined(__x86_64__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long long CycleCounterTicks;
+typedef unsigned long long ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
unsigned a, d;
asm volatile("rdtsc" : "=a" (a), "=d" (d));
- return ((CycleCounterTicks)a) | (((CycleCounterTicks)d) << 32);
+ return ((ticks)a) | (((ticks)d) << 32);
}
INLINE_ELAPSED(__inline__)
@@ -259,8 +260,8 @@ INLINE_ELAPSED(__inline__)
NOTE: this code will fail to link unless you use the -Masmkeyword compiler
option (grrr). */
#if defined(__PGI) && defined(__x86_64__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long long CycleCounterTicks;
-static CycleCounterTicks getticks(void)
+typedef unsigned long long ticks;
+static ticks getticks(void)
{
asm(" rdtsc; shl $0x20,%rdx; mov %eax,%eax; or %rdx,%rax; ");
}
@@ -272,7 +273,7 @@ INLINE_ELAPSED(__inline__)
#if _MSC_VER >= 1400 && (defined(_M_AMD64) || defined(_M_X64)) && !defined(HAVE_TICK_COUNTER)
#include <intrin.h>
-typedef unsigned __int64 CycleCounterTicks;
+typedef unsigned __int64 ticks;
#define getticks __rdtsc
@@ -288,10 +289,10 @@ INLINE_ELAPSED(__inline)
/* intel's icc/ecc compiler */
#if (defined(__EDG_VERSION) || defined(__ECC)) && defined(__ia64__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long CycleCounterTicks;
+typedef unsigned long ticks;
#include <ia64intrin.h>
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
return __getReg(_IA64_REG_AR_ITC);
}
@@ -303,11 +304,11 @@ INLINE_ELAPSED(__inline__)
/* gcc */
#if defined(__GNUC__) && defined(__ia64__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long CycleCounterTicks;
+typedef unsigned long ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
- CycleCounterTicks ret;
+ ticks ret;
__asm__ __volatile__ ("mov %0=ar.itc" : "=r"(ret));
return ret;
@@ -321,11 +322,11 @@ INLINE_ELAPSED(__inline__)
/* HP/UX IA64 compiler, courtesy Teresa L. Johnson: */
#if defined(__hpux) && defined(__ia64) && !defined(HAVE_TICK_COUNTER)
#include <machine/sys/inline.h>
-typedef unsigned long CycleCounterTicks;
+typedef unsigned long ticks;
-static inline CycleCounterTicks getticks(void)
+static inline ticks getticks(void)
{
- CycleCounterTicks ret;
+ ticks ret;
ret = _Asm_mov_from_ar (_AREG_ITC);
return ret;
@@ -338,7 +339,7 @@ INLINE_ELAPSED(inline)
/* Microsoft Visual C++ */
#if defined(_MSC_VER) && defined(_M_IA64) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned __int64 CycleCounterTicks;
+typedef unsigned __int64 ticks;
# ifdef __cplusplus
extern "C"
@@ -346,9 +347,9 @@ extern "C"
ticks __getReg(int whichReg);
#pragma intrinsic(__getReg)
-static __inline CycleCounterTicks getticks(void)
+static __inline ticks getticks(void)
{
- volatile CycleCounterTicks temp;
+ volatile ticks temp;
temp = __getReg(3116);
return temp;
}
@@ -361,12 +362,12 @@ static __inline CycleCounterTicks getticks(void)
* PA-RISC cycle counter
*/
#if (defined(__hppa__) || defined(__hppa)) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long CycleCounterTicks;
+typedef unsigned long ticks;
# ifdef __GNUC__
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
- CycleCounterTicks ret;
+ ticks ret;
__asm__ __volatile__("mfctl 16, %0": "=r" (ret));
/* no input, nothing else clobbered */
@@ -381,7 +382,7 @@ INLINE_ELAPSED(inline)
# include <machine/inline.h>
static inline unsigned long getticks(void)
{
- register CycleCounterTicks ret;
+ register ticks ret;
_MFCTL(16, ret);
return ret;
}
@@ -392,11 +393,11 @@ static inline unsigned long getticks(void)
/*----------------------------------------------------------------*/
/* S390, courtesy of James Treacy */
#if defined(__GNUC__) && defined(__s390__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long long CycleCounterTicks;
+typedef unsigned long long ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
- CycleCounterTicks cycles;
+ ticks cycles;
__asm__("stck 0(%0)" : : "a" (&(cycles)) : "memory", "cc");
return cycles;
}
@@ -411,9 +412,9 @@ INLINE_ELAPSED(__inline__)
* The 32-bit cycle counter on alpha overflows pretty quickly,
* unfortunately. A 1GHz machine overflows in 4 seconds.
*/
-typedef unsigned int CycleCounterTicks;
+typedef unsigned int ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
unsigned long cc;
__asm__ __volatile__ ("rpcc %0" : "=r"(cc));
@@ -427,11 +428,11 @@ INLINE_ELAPSED(__inline__)
/*----------------------------------------------------------------*/
#if defined(__GNUC__) && defined(__sparc_v9__) && !defined(HAVE_TICK_COUNTER)
-typedef unsigned long CycleCounterTicks;
+typedef unsigned long ticks;
-static __inline__ CycleCounterTicks getticks(void)
+static __inline__ ticks getticks(void)
{
- CycleCounterTicks ret;
+ ticks ret;
__asm__ __volatile__("rd %%tick, %0" : "=r" (ret));
return ret;
}
@@ -444,9 +445,9 @@ INLINE_ELAPSED(__inline__)
/*----------------------------------------------------------------*/
#if (defined(__DECC) || defined(__DECCXX)) && defined(__alpha) && defined(HAVE_C_ASM_H) && !defined(HAVE_TICK_COUNTER)
# include <c_asm.h>
-typedef unsigned int CycleCounterTicks;
+typedef unsigned int ticks;
-static __inline CycleCounterTicks getticks(void)
+static __inline ticks getticks(void)
{
unsigned long cc;
cc = asm("rpcc %v0");
@@ -460,16 +461,16 @@ INLINE_ELAPSED(__inline)
/*----------------------------------------------------------------*/
/* SGI/Irix */
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) && !defined(HAVE_TICK_COUNTER)
-typedef struct timespec CycleCounterTicks;
+typedef struct timespec ticks;
-static inline CycleCounterTicks getticks(void)
+static inline ticks getticks(void)
{
struct timespec t;
clock_gettime(CLOCK_SGI_CYCLE, &t);
return t;
}
-static inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0)
+static inline double elapsed(ticks t1, ticks t0)
{
return (double)(t1.tv_sec - t0.tv_sec) * 1.0E9 +
(double)(t1.tv_nsec - t0.tv_nsec);
@@ -484,7 +485,7 @@ static inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0)
# include <intrinsics.h>
#endif
-typedef long long CycleCounterTicks;
+typedef long long ticks;
#define getticks _rtc
@@ -493,4 +494,5 @@ INLINE_ELAPSED(inline)
#define HAVE_TICK_COUNTER
#endif
+#undef ticks
#endif // QBENCHLIB_CYCLE_H