X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=test%2FCodeGen%2FX86%2Fcomplex-fca.ll;h=78b27b7dc3f516b924972bb3ec23cb0546b1f0c9;hp=8ad38a4ee5c03a3f7ec03557d4c059cebffef54b;hb=37f1bba13a323828a90703cec569e8c9f10fb4ef;hpb=42d823757065017c19589ad9195b2904a91a345f diff --git a/test/CodeGen/X86/complex-fca.ll b/test/CodeGen/X86/complex-fca.ll index 8ad38a4ee5c..78b27b7dc3f 100644 --- a/test/CodeGen/X86/complex-fca.ll +++ b/test/CodeGen/X86/complex-fca.ll @@ -1,17 +1,21 @@ -; RUN: llc < %s -march=x86 | grep mov | count 2 - -; Skip this on Windows as there is no ccosl and sret behaves differently. -; XFAIL: pc-win32 +; RUN: llc < %s -march=x86 | FileCheck %s define void @ccosl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %z) nounwind { entry: - %z8 = extractvalue { x86_fp80, x86_fp80 } %z, 0 - %z9 = extractvalue { x86_fp80, x86_fp80 } %z, 1 - %0 = fsub x86_fp80 0xK80000000000000000000, %z9 - %insert = insertvalue { x86_fp80, x86_fp80 } undef, x86_fp80 %0, 0 - %insert7 = insertvalue { x86_fp80, x86_fp80 } %insert, x86_fp80 %z8, 1 - call void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %insert7) nounwind - ret void + %z8 = extractvalue { x86_fp80, x86_fp80 } %z, 0 + %z9 = extractvalue { x86_fp80, x86_fp80 } %z, 1 + %0 = fsub x86_fp80 0xK80000000000000000000, %z9 + %insert = insertvalue { x86_fp80, x86_fp80 } undef, x86_fp80 %0, 0 + %insert7 = insertvalue { x86_fp80, x86_fp80 } %insert, x86_fp80 %z8, 1 + call void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %insert7) nounwind + ret void } +; CHECK-LABEL: ccosl: +; CHECK: movl {{[0-9]+}}(%esp), %[[sret_reg:[^ ]+]] +; CHECK: movl %[[sret_reg]], (%esp) +; CHECK: calll {{.*ccoshl.*}} +; CHECK: movl %[[sret_reg]], %eax +; CHECK: retl + declare void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret, { x86_fp80, x86_fp80 }) nounwind