30 lines · plain
1; RUN: llc < %s -mtriple=i686-- -x86-asm-syntax=intel | FileCheck %s2; check that fastcc is passing stuff in regs.3 4declare x86_fastcallcc i64 @callee(i64 inreg)5 6define i64 @caller() {7 %X = call x86_fastcallcc i64 @callee( i64 inreg 4294967299 ) ; <i64> [#uses=1]8; CHECK: mov{{.*}}edx, 19 ret i64 %X10}11 12define x86_fastcallcc i64 @caller2(i64 inreg %X) {13 ret i64 %X14; CHECK: mov{{.*}}eax, ecx15}16 17declare x86_thiscallcc i64 @callee2(i32)18 19define i64 @caller3() {20 %X = call x86_thiscallcc i64 @callee2( i32 3 )21; CHECK: mov{{.*}}ecx, 322 ret i64 %X23}24 25define x86_thiscallcc i32 @caller4(i32 %X) {26 ret i32 %X27; CHECK: mov{{.*}}eax, ecx28}29 30