+++ /dev/null
-; XFAIL: *
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | grep {jmp \\*ecx}
-declare int %putchar(int)
-
-int %main(){
- %f = cast int (int, int*, int)* %check_tail to int*
- %res = tail call fastcc int %check_tail( int 10, int* %f,int 10)
- ret int %res
-}
-
-fastcc int %check_tail(int %x, int* %f, int %g) {
- %tmp1 = setgt int %x, 0
- br bool %tmp1, label %if-then, label %if-else
-
-if-then:
- %fun_ptr = cast int* %f to int(int, int*, int)*
- %arg1 = add int %x, -1
- call int %putchar(int 90)
- %res = tail call fastcc int %fun_ptr( int %arg1, int * %f, int %g)
- ret int %res
-
-if-else:
- ret int %x
-}
-
+++ /dev/null
-; XFAIL: *
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -x86-asm-syntax=intel | not grep call
-
-fastcc int %bar(int %X, int(double, int) *%FP) {
- %Y = tail call fastcc int %FP(double 0.0, int %X)
- ret int %Y
-}
-