diff options
author | mskvortsov <mikhael.skvortsov@gmail.com> | 2017-05-20 17:51:54 +0300 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2017-05-20 07:51:54 -0700 |
commit | 4f8be95166a30ea7c0b1d6aed4ef424ee47c425a (patch) | |
tree | 313fb929ba7920587a4eff9fb1d7f571bafed16f /src | |
parent | 989d1a2872d469cba9cc600b07f26553a7beabbf (diff) | |
download | coreclr-4f8be95166a30ea7c0b1d6aed4ef424ee47c425a.tar.gz coreclr-4f8be95166a30ea7c0b1d6aed4ef424ee47c425a.tar.bz2 coreclr-4f8be95166a30ea7c0b1d6aed4ef424ee47c425a.zip |
Linux/x86: Fix clang 4.0 build (#11610)
Diffstat (limited to 'src')
-rw-r--r-- | src/jit/codegenxarch.cpp | 2 | ||||
-rw-r--r-- | src/vm/i386/cgenx86.cpp | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/jit/codegenxarch.cpp b/src/jit/codegenxarch.cpp index 3ce0623391..c55e7a7bb0 100644 --- a/src/jit/codegenxarch.cpp +++ b/src/jit/codegenxarch.cpp @@ -6580,7 +6580,7 @@ void CodeGen::genIntToIntCast(GenTreePtr treeNode) } else { - typeMask = 0xFFFFFFFF80000000LL; + typeMask = ssize_t((int)0x80000000); typeMin = INT_MIN; typeMax = INT_MAX; } diff --git a/src/vm/i386/cgenx86.cpp b/src/vm/i386/cgenx86.cpp index 0a276c0ff9..c75490babd 100644 --- a/src/vm/i386/cgenx86.cpp +++ b/src/vm/i386/cgenx86.cpp @@ -1454,7 +1454,7 @@ extern "C" DWORD __stdcall getcpuid(DWORD arg, unsigned char result[16]) " mov %%edx, 12(%[result])\n" \ : "=a"(eax) /*output in eax*/\ : "a"(arg), [result]"r"(result) /*inputs - arg in eax, result in any register*/\ - : "eax", "ebx", "ecx", "edx", "memory" /* registers that are clobbered, *result is clobbered */ + : "ebx", "ecx", "edx", "memory" /* registers that are clobbered, *result is clobbered */ ); return eax; } @@ -1462,14 +1462,15 @@ extern "C" DWORD __stdcall getcpuid(DWORD arg, unsigned char result[16]) extern "C" DWORD __stdcall getextcpuid(DWORD arg1, DWORD arg2, unsigned char result[16]) { DWORD eax; + DWORD ecx; __asm(" cpuid\n" \ " mov %%eax, 0(%[result])\n" \ " mov %%ebx, 4(%[result])\n" \ " mov %%ecx, 8(%[result])\n" \ " mov %%edx, 12(%[result])\n" \ - : "=a"(eax) /*output in eax*/\ + : "=a"(eax), "=c"(ecx) /*output in eax, ecx is rewritten*/\ : "c"(arg1), "a"(arg2), [result]"r"(result) /*inputs - arg1 in ecx, arg2 in eax, result in any register*/\ - : "eax", "ebx", "ecx", "edx", "memory" /* registers that are clobbered, *result is clobbered */ + : "ebx", "edx", "memory" /* registers that are clobbered, *result is clobbered */ ); return eax; } @@ -1480,7 +1481,7 @@ extern "C" DWORD __stdcall xmmYmmStateSupport() __asm(" xgetbv\n" \ : "=a"(eax) /*output in eax*/\ : "c"(0) /*inputs - 0 in ecx*/\ - : "eax", "edx" /* registers that are clobbered*/ + : "edx" /* registers that are clobbered*/ ); // check OS has enabled both XMM and YMM state support return ((eax & 0x06) == 0x06) ? 1 : 0; |