]> granicus.if.org Git - clang/commitdiff
[x86][inline-asm][ms-compat] legalize the use of "jc/jz short <op>"
authorCoby Tayree <coby.tayree@intel.com>
Sun, 30 Jul 2017 11:13:46 +0000 (11:13 +0000)
committerCoby Tayree <coby.tayree@intel.com>
Sun, 30 Jul 2017 11:13:46 +0000 (11:13 +0000)
MS ignores the keyword "short" when used after a jc/jz instruction, LLVM ought to do the same.
llvm: D35892

Differential Revision: https://reviews.llvm.org/D35893

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@309510 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ms-inline-asm.c

index ca4f815406481e6e808e83f717e307885294822f..a0af14d9d8d2efcd7dba752bff9696c6cc916628 100644 (file)
@@ -704,10 +704,12 @@ void label5() {
 void label6(){
   __asm {
       jmp short label
+      jc  short label
+      jz  short label
     label:
   }
   // CHECK-LABEL: define void @label6
-  // CHECK: call void asm sideeffect inteldialect "jmp {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:", "~{dirflag},~{fpsr},~{flags}"()
+  // CHECK: jmp {{.*}}__MSASMLABEL_.${:uid}__label\0A\09jc {{.*}}__MSASMLABEL_.${:uid}__label\0A\09jz {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:"
 }
 
 // Don't include mxcsr in the clobber list.