| // Copyright 2018 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| #include "time_windows.h" |
| TEXT time·now(SB),NOSPLIT|NOFRAME,$0-24 |
| MOVB runtime·useQPCTime(SB), R0 |
| MOVD $_INTERRUPT_TIME, R3 |
| // convert to Unix epoch (but still 100ns units) |
| #define delta 116444736000000000 |
| // Code stolen from compiler output for: |
| // func f() (sec uint64, nsec uint32) { return x / 1000000000, uint32(x % 1000000000) } |
| MOVD $-8543223759426509416, R2 |
| B runtime·nowQPC(SB) // tail call |