1c23a780cSMin-Yih Hsu; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2c23a780cSMin-Yih Hsu; RUN: llc < %s -mtriple=m68k-pc-linux -relocation-model=pic -verify-machineinstrs | FileCheck %s 3c23a780cSMin-Yih Hsu 4c23a780cSMin-Yih Hsu; 5c23a780cSMin-Yih Hsu; C Call passes all arguments on stack ... 6c23a780cSMin-Yih Hsu 7*cd0d11beSFangrui Songdefine void @test1(ptr nocapture %out, i32 %in) nounwind { 8c23a780cSMin-Yih Hsu; CHECK-LABEL: test1: 9c23a780cSMin-Yih Hsu; CHECK: ; %bb.0: ; %entry 10c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (4,%sp), %a0 11c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (8,%sp), (%a0) 12c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 13c23a780cSMin-Yih Hsuentry: 14*cd0d11beSFangrui Song store i32 %in, ptr %out, align 4 15c23a780cSMin-Yih Hsu ret void 16c23a780cSMin-Yih Hsu} 17c23a780cSMin-Yih Hsu 18*cd0d11beSFangrui Songdefine void @test2(ptr nocapture %pOut, ptr nocapture %pIn) nounwind { 19c23a780cSMin-Yih Hsu; CHECK-LABEL: test2: 20c23a780cSMin-Yih Hsu; CHECK: ; %bb.0: ; %entry 21c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (8,%sp), %a0 22c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (4,%sp), %a1 23c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (%a0), (%a1) 24c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 25c23a780cSMin-Yih Hsuentry: 26*cd0d11beSFangrui Song %0 = load i32, ptr %pIn, align 4 27*cd0d11beSFangrui Song store i32 %0, ptr %pOut, align 4 28c23a780cSMin-Yih Hsu ret void 29c23a780cSMin-Yih Hsu} 30c23a780cSMin-Yih Hsu 31*cd0d11beSFangrui Songdefine void @test3(ptr nocapture %out, i8 %in) nounwind { 32c23a780cSMin-Yih Hsu; CHECK-LABEL: test3: 33c23a780cSMin-Yih Hsu; CHECK: ; %bb.0: ; %entry 34c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (4,%sp), %a0 35c23a780cSMin-Yih Hsu; CHECK-NEXT: move.b (11,%sp), (%a0) 36c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 37c23a780cSMin-Yih Hsuentry: 38*cd0d11beSFangrui Song store i8 %in, ptr %out, align 1 39c23a780cSMin-Yih Hsu ret void 40c23a780cSMin-Yih Hsu} 41c23a780cSMin-Yih Hsu 42*cd0d11beSFangrui Songdefine void @test4(ptr nocapture %out, i16 %in) nounwind { 43c23a780cSMin-Yih Hsu; CHECK-LABEL: test4: 44c23a780cSMin-Yih Hsu; CHECK: ; %bb.0: ; %entry 45c23a780cSMin-Yih Hsu; CHECK-NEXT: move.l (4,%sp), %a0 46c23a780cSMin-Yih Hsu; CHECK-NEXT: move.w (10,%sp), (%a0) 47c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 48c23a780cSMin-Yih Hsuentry: 49*cd0d11beSFangrui Song store i16 %in, ptr %out, align 2 50c23a780cSMin-Yih Hsu ret void 51c23a780cSMin-Yih Hsu} 52c23a780cSMin-Yih Hsu 53c23a780cSMin-Yih Hsudefine i8 @test5(i8 %a, i8 %b) nounwind { 54c23a780cSMin-Yih Hsu; CHECK-LABEL: test5: 55c23a780cSMin-Yih Hsu; CHECK: ; %bb.0: ; %entry 56c23a780cSMin-Yih Hsu; CHECK-NEXT: move.b (7,%sp), %d0 57c23a780cSMin-Yih Hsu; CHECK-NEXT: add.b (11,%sp), %d0 58c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 59c23a780cSMin-Yih Hsuentry: 60c23a780cSMin-Yih Hsu %add = add i8 %a, %b 61c23a780cSMin-Yih Hsu ret i8 %add 62c23a780cSMin-Yih Hsu} 63c23a780cSMin-Yih Hsu 64c23a780cSMin-Yih Hsudefine i16 @test6(i16 %a, i16 %b) nounwind { 65c23a780cSMin-Yih Hsu; CHECK-LABEL: test6: 66c23a780cSMin-Yih Hsu; CHECK: ; %bb.0: ; %entry 67c23a780cSMin-Yih Hsu; CHECK-NEXT: move.w (6,%sp), %d0 68c23a780cSMin-Yih Hsu; CHECK-NEXT: add.w (10,%sp), %d0 69c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 70c23a780cSMin-Yih Hsuentry: 71c23a780cSMin-Yih Hsu %add = add i16 %a, %b 72c23a780cSMin-Yih Hsu ret i16 %add 73c23a780cSMin-Yih Hsu} 74