89 lines · c
1// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-pc-win32 | FileCheck %s2// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-mingw32 | FileCheck %s3// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-cygwin | FileCheck %s4// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-pc-windows-msvc-elf | FileCheck %s --check-prefix=ELF325// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-pc-win32 | FileCheck %s --check-prefix=X646// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-mingw32 | FileCheck %s --check-prefix=X647// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-cygwin | FileCheck %s --check-prefix=X648// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc-elf | FileCheck %s --check-prefix=ELF649 10// CHECK: target datalayout = "e-m:x-{{.*}}"11// X64: target datalayout = "e-m:w-{{.*}}"12// ELF32: target datalayout = "e-m:e-{{.*}}"13// ELF64: target datalayout = "e-m:e-{{.*}}"14 15void __stdcall f1(void) {}16// CHECK: define dso_local x86_stdcallcc void @"\01_f1@0"17// X64: define dso_local void @f1(18// ELF32: define{{.*}} x86_stdcallcc void @"\01_f1@0"19// ELF64: define{{.*}} void @f1(20 21void __fastcall f2(void) {}22// CHECK: define dso_local x86_fastcallcc void @"\01@f2@0"23// X64: define dso_local void @f2(24// ELF32: define{{.*}} x86_fastcallcc void @"\01@f2@0"25// ELF64: define{{.*}} void @f2(26 27void __stdcall f3(void) {}28// CHECK: define dso_local x86_stdcallcc void @"\01_f3@0"29// X64: define dso_local void @f3(30 31void __fastcall f4(char a) {}32// CHECK: define dso_local x86_fastcallcc void @"\01@f4@4"33// X64: define dso_local void @f4(34 35void __fastcall f5(short a) {}36// CHECK: define dso_local x86_fastcallcc void @"\01@f5@4"37// X64: define dso_local void @f5(38 39void __fastcall f6(int a) {}40// CHECK: define dso_local x86_fastcallcc void @"\01@f6@4"41// X64: define dso_local void @f6(42 43void __fastcall f7(long a) {}44// CHECK: define dso_local x86_fastcallcc void @"\01@f7@4"45// X64: define dso_local void @f7(46 47void __fastcall f8(long long a) {}48// CHECK: define dso_local x86_fastcallcc void @"\01@f8@8"49// X64: define dso_local void @f8(50 51void __fastcall f9(long long a, char b, char c, short d) {}52// CHECK: define dso_local x86_fastcallcc void @"\01@f9@20"(i64 noundef %a, i8 inreg noundef signext %b, i8 inreg noundef signext %c, i16 noundef signext %d)53// X64: define dso_local void @f9(54 55void f12(void) {}56// CHECK: define dso_local void @f12(57// X64: define dso_local void @f12(58 59void __vectorcall v1(void) {}60// CHECK: define dso_local x86_vectorcallcc void @"\01v1@@0"(61// X64: define dso_local x86_vectorcallcc void @"\01v1@@0"(62// ELF32: define{{.*}} x86_vectorcallcc void @"\01v1@@0"(63// ELF64: define{{.*}} x86_vectorcallcc void @"\01v1@@0"(64 65void __vectorcall v2(char a) {}66// CHECK: define dso_local x86_vectorcallcc void @"\01v2@@4"(67// X64: define dso_local x86_vectorcallcc void @"\01v2@@8"(68// ELF32: define{{.*}} x86_vectorcallcc void @"\01v2@@4"(69// ELF64: define{{.*}} x86_vectorcallcc void @"\01v2@@8"(70 71void __vectorcall v3(short a) {}72// CHECK: define dso_local x86_vectorcallcc void @"\01v3@@4"(73// X64: define dso_local x86_vectorcallcc void @"\01v3@@8"(74 75void __vectorcall v4(int a) {}76// CHECK: define dso_local x86_vectorcallcc void @"\01v4@@4"(77// X64: define dso_local x86_vectorcallcc void @"\01v4@@8"(78 79void __vectorcall v5(long long a) {}80// CHECK: define dso_local x86_vectorcallcc void @"\01v5@@8"(81// X64: define dso_local x86_vectorcallcc void @"\01v5@@8"(82 83void __vectorcall v6(char a, char b) {}84// CHECK: define dso_local x86_vectorcallcc void @"\01v6@@8"(85// X64: define dso_local x86_vectorcallcc void @"\01v6@@16"(86 87void __vectorcall v7(long long a, char b, char c, short d) {}88// CHECK: define dso_local x86_vectorcallcc void @"\01v7@@20"(i64 noundef %a, i8 inreg noundef signext %b, i8 inreg noundef signext %c, i16 noundef signext %d)89