OSDN Git Service

Remove a GCC-specific intrinsic
authorNicolas Capens <capn@google.com>
Thu, 11 Dec 2014 20:30:40 +0000 (15:30 -0500)
committerNicolas Capens <nicolascapens@google.com>
Thu, 11 Dec 2014 20:34:27 +0000 (20:34 +0000)
Bug 18720257

Change-Id: I7dc9257ca47d701cfa190856ad3c2db39495bbdb
Reviewed-on: https://swiftshader-review.googlesource.com/1621
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
src/Common/Timer.cpp

index 821d41a..a62fb7c 100644 (file)
@@ -49,11 +49,10 @@ namespace sw
        {
                #if defined(_WIN32)
                        return __rdtsc();
-               #elif __GNUC_PREREQ(4,5)
-                       return __builtin_ia32_rdtsc();
                #else
-                       assert(false);   // UNIMPLEMENTED
-                       return 0;
+                       int64_t tsc;
+                       __asm volatile("rdtsc": "=A" (tsc));
+                       return tsc;
                #endif
        }