1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -tailcallopt -march=x86-64 -mattr=+sse2 -mtriple=x86_64-apple-darwin | grep fstpt 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -tailcallopt -march=x86-64 -mattr=+sse2 -mtriple=x86_64-apple-darwin | grep xmm 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; Check that x86-64 tail calls support x86_fp80 and v2f32 types. (Tail call 5*9880d681SAndroid Build Coastguard Worker; calling convention out of sync with standard c calling convention on x86_64) 6*9880d681SAndroid Build Coastguard Worker; Bug 4278. 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdeclare fastcc double @tailcallee(x86_fp80, <2 x float>) 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerdefine fastcc double @tailcall() { 11*9880d681SAndroid Build Coastguard Workerentry: 12*9880d681SAndroid Build Coastguard Worker %tmp = fpext float 1.000000e+00 to x86_fp80 13*9880d681SAndroid Build Coastguard Worker %tmp2 = tail call fastcc double @tailcallee( x86_fp80 %tmp, <2 x float> <float 1.000000e+00, float 1.000000e+00>) 14*9880d681SAndroid Build Coastguard Worker ret double %tmp2 15*9880d681SAndroid Build Coastguard Worker} 16