From 08e4943d2e28243ec44f9b92882272aa3d69a53b Mon Sep 17 00:00:00 2001 From: Coby Tayree Date: Tue, 21 Nov 2017 08:50:10 +0000 Subject: [PATCH] [x86][inline-asm] allow recognition of MPX regs inside ms inline-asm blob Differential Revision: https://reviews.llvm.org/D38445 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318739 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets/X86.cpp | 1 + test/CodeGen/ms-inline-asm.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/Basic/Targets/X86.cpp b/lib/Basic/Targets/X86.cpp index ca32c16b3a..0ad1c9bf31 100644 --- a/lib/Basic/Targets/X86.cpp +++ b/lib/Basic/Targets/X86.cpp @@ -60,6 +60,7 @@ static const char *const GCCRegNames[] = { "k2", "k3", "k4", "k5", "k6", "k7", "cr0", "cr2", "cr3", "cr4", "cr8", "dr0", "dr1", "dr2", "dr3", "dr6", "dr7", + "bnd0", "bnd1", "bnd2", "bnd3", }; const TargetInfo::AddlRegName AddlRegNames[] = { diff --git a/test/CodeGen/ms-inline-asm.c b/test/CodeGen/ms-inline-asm.c index c03f0deb05..cc8453b868 100644 --- a/test/CodeGen/ms-inline-asm.c +++ b/test/CodeGen/ms-inline-asm.c @@ -661,6 +661,17 @@ void t46() { // CHECK: call void asm sideeffect inteldialect "add eax, [eax + $$-128]", "~{eax},~{flags},~{dirflag},~{fpsr},~{flags}"() } +void t47() { + // CHECK-LABEL: define void @t47 + __asm { + bndmk bnd0, dword ptr [eax] + bndmk bnd1, dword ptr [ebx] + bndmk bnd2, dword ptr [ecx] + bndmk bnd3, dword ptr [edx] + } + // CHECK: call void asm sideeffect inteldialect "bndmk bnd0, dword ptr [eax]\0A\09bndmk bnd1, dword ptr [ebx]\0A\09bndmk bnd2, dword ptr [ecx]\0A\09bndmk bnd3, dword ptr [edx]", "~{bnd0},~{bnd1},~{bnd2},~{bnd3},~{dirflag},~{fpsr},~{flags}"() +} + void dot_operator(){ // CHECK-LABEL: define void @dot_operator __asm { mov eax, 3[ebx]A.b} -- 2.50.1