74 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=m68k-pc-linux -relocation-model=pic -verify-machineinstrs | FileCheck %s3 4;5; C Call passes all arguments on stack ...6 7define void @test1(ptr nocapture %out, i32 %in) nounwind {8; CHECK-LABEL: test1:9; CHECK: ; %bb.0: ; %entry10; CHECK-NEXT: move.l (4,%sp), %a011; CHECK-NEXT: move.l (8,%sp), (%a0)12; CHECK-NEXT: rts13entry:14 store i32 %in, ptr %out, align 415 ret void16}17 18define void @test2(ptr nocapture %pOut, ptr nocapture %pIn) nounwind {19; CHECK-LABEL: test2:20; CHECK: ; %bb.0: ; %entry21; CHECK-NEXT: move.l (8,%sp), %a022; CHECK-NEXT: move.l (4,%sp), %a123; CHECK-NEXT: move.l (%a0), (%a1)24; CHECK-NEXT: rts25entry:26 %0 = load i32, ptr %pIn, align 427 store i32 %0, ptr %pOut, align 428 ret void29}30 31define void @test3(ptr nocapture %out, i8 %in) nounwind {32; CHECK-LABEL: test3:33; CHECK: ; %bb.0: ; %entry34; CHECK-NEXT: move.l (4,%sp), %a035; CHECK-NEXT: move.b (11,%sp), (%a0)36; CHECK-NEXT: rts37entry:38 store i8 %in, ptr %out, align 139 ret void40}41 42define void @test4(ptr nocapture %out, i16 %in) nounwind {43; CHECK-LABEL: test4:44; CHECK: ; %bb.0: ; %entry45; CHECK-NEXT: move.l (4,%sp), %a046; CHECK-NEXT: move.w (10,%sp), (%a0)47; CHECK-NEXT: rts48entry:49 store i16 %in, ptr %out, align 250 ret void51}52 53define i8 @test5(i8 %a, i8 %b) nounwind {54; CHECK-LABEL: test5:55; CHECK: ; %bb.0: ; %entry56; CHECK-NEXT: move.b (7,%sp), %d057; CHECK-NEXT: add.b (11,%sp), %d058; CHECK-NEXT: rts59entry:60 %add = add i8 %a, %b61 ret i8 %add62}63 64define i16 @test6(i16 %a, i16 %b) nounwind {65; CHECK-LABEL: test6:66; CHECK: ; %bb.0: ; %entry67; CHECK-NEXT: move.w (6,%sp), %d068; CHECK-NEXT: add.w (10,%sp), %d069; CHECK-NEXT: rts70entry:71 %add = add i16 %a, %b72 ret i16 %add73}74