brintos

brintos / llvm-project-archived public Read only

0
0
Text · 692 B · b3a6d90 Raw
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