[flang-commits] [flang] [llvm] [flang][flang-rt] Add support for non-standard TIMEF intrinsic (PR #185377)

via flang-commits flang-commits at lists.llvm.org
Fri Mar 13 05:05:17 PDT 2026


================
@@ -413,6 +413,18 @@ double RTNAME(Dsecnds)(double *refTime, const char *sourceFile, int line) {
 // GNU extension function TIME()
 std::int64_t RTNAME(time)() { return time(nullptr); }
 
+// Intel extension function TIMEF()
+// Returns number of seconds that have elapsed since the first time
+// TIMEF was called. For the first call, it returns 0.
+double RTNAME(Timef)() {
+  static double first = -1;
----------------
NimishMishra wrote:

I tested with ifort: the timef() behaviour is thread-local, and also matches with the what @kkwli wrote about XLF. The difference between Intel and XLF is the resolution of timef: seconds vs milliseconds. I am keeping this PR implementation at the resolution of seconds, please let me know if that is okay. 

https://github.com/llvm/llvm-project/pull/185377


More information about the flang-commits mailing list