Don't add suffixes for stdcall/fastcall on 64 coff.

This matches the behavior of both msvc and mingw.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196814 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-12-09 20:44:48 +00:00
parent 470041bd61
commit 5201d61654
2 changed files with 17 additions and 3 deletions

View File

@ -128,6 +128,7 @@ X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(const Triple &Triple) {
if (Triple.getArch() == Triple::x86_64) {
GlobalPrefix = '\0';
PrivateGlobalPrefix = ".L";
HasMicrosoftFastStdCallMangling = false;
}
AssemblerDialect = AsmWriterFlavor;
@ -143,6 +144,7 @@ X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(const Triple &Triple) {
if (Triple.getArch() == Triple::x86_64) {
GlobalPrefix = '\0';
PrivateGlobalPrefix = ".L";
HasMicrosoftFastStdCallMangling = false;
}
AssemblerDialect = AsmWriterFlavor;

View File

@ -1,14 +1,26 @@
; RUN: llc < %s -mtriple=i386-unknown-mingw32 | FileCheck %s
; RUN: llc < %s -mtriple=i386-unknown-mingw32 | \
; RUN: FileCheck --check-prefix=CHECK32 %s
; RUN: llc < %s -mtriple=i386-unknown-win32 | \
; RUN: FileCheck --check-prefix=CHECK32 %s
; RUN: llc < %s -mtriple=x86_64-unknown-mingw32 | \
; RUN: FileCheck --check-prefix=CHECK64 %s
; RUN: llc < %s -mtriple=x86_64-unknown-mingw32 | \
; RUN: FileCheck --check-prefix=CHECK64 %s
; Check that a fastcall function gets correct mangling
define x86_fastcallcc void @func(i64 %X, i8 %Y, i8 %G, i16 %Z) {
; CHECK: @func@20:
; CHECK32-LABEL: {{^}}@func@20:
; CHECK64-LABEL: {{^}}func:
ret void
}
define x86_fastcallcc i32 @"\01DoNotMangle"(i32 %a) {
; CHECK: DoNotMangle:
; CHECK32-LABEL: {{^}}DoNotMangle:
; CHECK64-LABEL: {{^}}DoNotMangle:
entry:
ret i32 %a
}