[AArch64] Use MCAsmInfoMicrosoft and MCAsmInfoGNUCOFF as base classes
This matches the structure used on X86 and ARM. This requires
a little bit of duplication of the parts that are equal in both
AArch64 COFF variants though.
Before SVN r335286, these classes didn't add anything that MCAsmInfoCOFF
didn't, but now they do.
This makes AArch64 match X86 in how comdat is used for float constants
for MinGW.
Differential Revision: https://reviews.llvm.org/D49637
llvm-svn: 337755
diff --git a/llvm/test/CodeGen/AArch64/win_cst_pool.ll b/llvm/test/CodeGen/AArch64/win_cst_pool.ll
new file mode 100644
index 0000000..049e252
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/win_cst_pool.ll
@@ -0,0 +1,13 @@
+; RUN: llc < %s -mtriple=aarch64-win32-gnu | FileCheck -check-prefix=MINGW %s
+
+define double @double() {
+ ret double 0x0000000000800000
+}
+; MINGW: .section .rdata,"dr"
+; MINGW-NEXT: .p2align 3
+; MINGW-NEXT: [[LABEL:\.LC.*]]:
+; MINGW-NEXT: .xword 8388608
+; MINGW: double:
+; MINGW: adrp x8, [[LABEL]]
+; MINGW-NEXT: ldr d0, [x8, [[LABEL]]]
+; MINGW-NEXT: ret