[PATCH] D13869: instruction 'align' in asm blocks works incorrectly with some cases of parameters

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 26 15:28:14 PDT 2015


rnk added inline comments.

================
Comment at: lib/MC/MCParser/AsmParser.cpp:4716
@@ -4715,3 +4714,1 @@
       unsigned Val = AR.Val;
-      OS << ".align " << Val;
-
----------------
Most of your changes are unecessary. All you have to do is this change:
  OS << ".align";
  if (getContext().getAsmInfo()->getAlignmentIsInBytes())
    break;
  OS << ' ';

================
Comment at: test/CodeGen/ms-inline-asm.c:295-300
@@ -300,2 +294,8 @@
 // CHECK: .align 8
+  __asm align 16;
+// CHECK: .align 16
+  __asm align 20;
+// CHECK: .align 20
+  __asm ALIGN 31;
+// CHECK: .align 31
 // CHECK: "~{dirflag},~{fpsr},~{flags}"()
----------------
This test change is incorrect, as we want the previous results on Darwin.

I suggest adding a new test ms-inline-asm-align.c and testing Darwin and Windows targets.


http://reviews.llvm.org/D13869





More information about the llvm-commits mailing list