From: Craig Topper Date: Tue, 10 Apr 2018 18:43:44 +0000 (+0000) Subject: [X86] Add test case for llvm change r329734 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73486352323f5466a1d1c567221559a98fce742b;p=clang [X86] Add test case for llvm change r329734 This test ensures the popfd instruction in MS inline assembly can properly find a clobber name for the dirflag register. Previously the register was named 'DF', but it needs to be named 'dirflag' to match the name in the GCC register name list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@329738 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/ms-inline-asm.c b/test/CodeGen/ms-inline-asm.c index 5c3e3ff2a8..edcbaa8aa4 100644 --- a/test/CodeGen/ms-inline-asm.c +++ b/test/CodeGen/ms-inline-asm.c @@ -754,6 +754,13 @@ void mxcsr() { // CHECK-LABEL: define void @mxcsr // CHECK: call void asm sideeffect inteldialect "fxrstor $0", "=*m,~{dirflag},~{fpsr},~{flags}" +// Make sure we can find the register for the dirflag for popfd +void dirflag() { + __asm popfd +} +// CHECK-LABEL: define void @dirflag +// CHECK: call void asm sideeffect inteldialect "popfd", "~{dirflag},~{flags},~{esp},~{dirflag},~{fpsr},~{flags}" + typedef union _LARGE_INTEGER { struct { unsigned int LowPart;