1f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck %s 2f4a2713aSLionel Sambuc 3f4a2713aSLionel Sambuc void __attribute__((fastcall)) foo1(int &y); bar1(int & y)4f4a2713aSLionel Sambucvoid bar1(int &y) { 5f4a2713aSLionel Sambuc // CHECK-LABEL: define void @_Z4bar1Ri 6*0a6a1f1dSLionel Sambuc // CHECK: call x86_fastcallcc void @_Z4foo1Ri(i32* inreg dereferenceable({{[0-9]+}}) % 7f4a2713aSLionel Sambuc foo1(y); 8f4a2713aSLionel Sambuc } 9f4a2713aSLionel Sambuc 10f4a2713aSLionel Sambuc struct S1 { 11f4a2713aSLionel Sambuc int x; 12f4a2713aSLionel Sambuc S1(const S1 &y); 13f4a2713aSLionel Sambuc }; 14f4a2713aSLionel Sambuc 15f4a2713aSLionel Sambuc void __attribute__((fastcall)) foo2(S1 a, int b); bar2(S1 a,int b)16f4a2713aSLionel Sambucvoid bar2(S1 a, int b) { 17f4a2713aSLionel Sambuc // CHECK-LABEL: define void @_Z4bar22S1i 18f4a2713aSLionel Sambuc // CHECK: call x86_fastcallcc void @_Z4foo22S1i(%struct.S1* inreg %{{.*}}, i32 inreg % 19f4a2713aSLionel Sambuc foo2(a, b); 20f4a2713aSLionel Sambuc } 21