OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 /* | 7 /* |
8 * This exists only because Windows 64 doesn't support trivial inline assembly. | 8 * This exists only because Windows 64 doesn't support trivial inline assembly. |
9 * Visual Studio 2010 SP1 has an intrinsic _xgetbv() for this. | 9 * Visual Studio 2010 SP1 has an intrinsic _xgetbv() for this. |
10 * But earlier versions do not. | 10 * But earlier versions do not. |
(...skipping 11 matching lines...) Expand all Loading... |
22 #endif | 22 #endif |
23 /* | 23 /* |
24 * This is "xgetbv" (no operands). Some assemblers don't know it yet. | 24 * This is "xgetbv" (no operands). Some assemblers don't know it yet. |
25 */ | 25 */ |
26 .byte 0x0f, 0x01, 0xd0 | 26 .byte 0x0f, 0x01, 0xd0 |
27 #if NACL_BUILD_SUBARCH == 64 | 27 #if NACL_BUILD_SUBARCH == 64 |
28 shlq $32, %rdx | 28 shlq $32, %rdx |
29 orq %rdx, %rax | 29 orq %rdx, %rax |
30 #endif | 30 #endif |
31 ret | 31 ret |
OLD | NEW |