29 lines · plain
1; RUN: llc < %s -mtriple=x86_64-pc-win32 | FileCheck %s2; RUN: llc < %s -mtriple=x86_64-pc-linux | FileCheck %s3 4; Check that, if a Win64 ABI function calls a SysV ABI function, all the5; Win64 nonvolatile registers get saved.6 7; CHECK-LABEL: bar:8define win64cc void @bar(i32 %a, i32 %b) {9; CHECK-DAG: pushq %rdi10; CHECK-DAG: pushq %rsi11; CHECK-DAG: movaps %xmm6,12; CHECK-DAG: movaps %xmm7,13; CHECK-DAG: movaps %xmm8,14; CHECK-DAG: movaps %xmm9,15; CHECK-DAG: movaps %xmm10,16; CHECK-DAG: movaps %xmm11,17; CHECK-DAG: movaps %xmm12,18; CHECK-DAG: movaps %xmm13,19; CHECK-DAG: movaps %xmm14,20; CHECK-DAG: movaps %xmm15,21; CHECK: callq foo22; CHECK: ret23 call x86_64_sysvcc void @foo(i32 %a, i32 %b)24 ret void25}26 27declare x86_64_sysvcc void @foo(i32 %a, i32 %b)28 29