diff options
| author | Coby Tayree <coby.tayree@intel.com> | 2017-08-09 13:31:41 +0000 |
|---|---|---|
| committer | Coby Tayree <coby.tayree@intel.com> | 2017-08-09 13:31:41 +0000 |
| commit | 69eb696112e938f43d9e33dab9d710b38ad240e8 (patch) | |
| tree | cd2bd27e631ed2622adc2b9f5f548c21c311106e /clang/test/CodeGen/ms-inline-asm.c | |
| parent | c4a4af47f35cec5a0820ff80544192eb392ae605 (diff) | |
| download | bcm5719-llvm-69eb696112e938f43d9e33dab9d710b38ad240e8.tar.gz bcm5719-llvm-69eb696112e938f43d9e33dab9d710b38ad240e8.zip | |
[X86][Ms-InlineAsm] Extend MS Dot operator to accept "this" + struct/class pointers aliases
MS InlineAsm Dot operator accepts "Bases" such as "this" (cpp) and class/struct pointer typedef.
This patch enhance its implementation with this behavior.
Differential Revision: https://reviews.llvm.org/D36450
llvm-svn: 310472
Diffstat (limited to 'clang/test/CodeGen/ms-inline-asm.c')
| -rw-r--r-- | clang/test/CodeGen/ms-inline-asm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/test/CodeGen/ms-inline-asm.c b/clang/test/CodeGen/ms-inline-asm.c index 60dffb02b84..9f6852fd477 100644 --- a/clang/test/CodeGen/ms-inline-asm.c +++ b/clang/test/CodeGen/ms-inline-asm.c @@ -527,7 +527,7 @@ void cpuid() { typedef struct { int a; int b; -} A; +} A, *pA; typedef struct { int b1; @@ -539,7 +539,7 @@ typedef struct { A c2; int c3; B c4; -} C; +} C, *pC; void t39() { // CHECK-LABEL: define void @t39 @@ -547,6 +547,8 @@ void t39() { // CHECK: mov eax, [eax].4 __asm mov eax, [eax] A.b // CHECK: mov eax, [eax] .4 + __asm mov eax, [eax] pA.b +// CHECK: mov eax, [eax] .4 __asm mov eax, fs:[0] A.b // CHECK: mov eax, fs:[$$0] .4 __asm mov eax, [eax].B.b2.a @@ -557,6 +559,8 @@ void t39() { // CHECK: mov eax, fs:[$$0] .8 __asm mov eax, [eax]C.c4.b2.b // CHECK: mov eax, [eax].24 + __asm mov eax, [eax]pC.c4.b2.b +// CHECK: mov eax, [eax].24 // CHECK: "~{eax},~{dirflag},~{fpsr},~{flags}"() } |

