1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 2; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s 3 4define i1 @return_true() { 5; CHECK-LABEL: return_true: 6; CHECK: .cfi_startproc 7; CHECK-NEXT: ; %bb.0: 8; CHECK-NEXT: moveq #1, %d0 9; CHECK-NEXT: rts 10 ret i1 true 11} 12 13define i8 @return_0_i8() { 14; CHECK-LABEL: return_0_i8: 15; CHECK: .cfi_startproc 16; CHECK-NEXT: ; %bb.0: 17; CHECK-NEXT: moveq #0, %d0 18; CHECK-NEXT: rts 19 ret i8 0 20} 21 22define i16 @return_0_i16() { 23; CHECK-LABEL: return_0_i16: 24; CHECK: .cfi_startproc 25; CHECK-NEXT: ; %bb.0: 26; CHECK-NEXT: moveq #0, %d0 27; CHECK-NEXT: rts 28 ret i16 0 29} 30 31define i32 @return_0_i32() { 32; CHECK-LABEL: return_0_i32: 33; CHECK: .cfi_startproc 34; CHECK-NEXT: ; %bb.0: 35; CHECK-NEXT: moveq #0, %d0 36; CHECK-NEXT: rts 37 ret i32 0 38} 39 40define i64 @return_0_i64() { 41; CHECK-LABEL: return_0_i64: 42; CHECK: .cfi_startproc 43; CHECK-NEXT: ; %bb.0: 44; CHECK-NEXT: moveq #0, %d0 45; CHECK-NEXT: move.l %d0, %d1 46; CHECK-NEXT: rts 47 ret i64 0 48} 49 50define i16 @return_neg1_i16() { 51; CHECK-LABEL: return_neg1_i16: 52; CHECK: .cfi_startproc 53; CHECK-NEXT: ; %bb.0: 54; CHECK-NEXT: moveq #-1, %d0 55; CHECK-NEXT: rts 56 ret i16 -1 57} 58 59define i32 @return_neg1_i32() { 60; CHECK-LABEL: return_neg1_i32: 61; CHECK: .cfi_startproc 62; CHECK-NEXT: ; %bb.0: 63; CHECK-NEXT: moveq #-1, %d0 64; CHECK-NEXT: rts 65 ret i32 -1 66} 67 68define i8 @return_160_i8() { 69; CHECK-LABEL: return_160_i8: 70; CHECK: .cfi_startproc 71; CHECK-NEXT: ; %bb.0: 72; CHECK-NEXT: moveq #-96, %d0 73; CHECK-NEXT: rts 74 ret i8 160 75} 76 77define i16 @return_160_i16() { 78; CHECK-LABEL: return_160_i16: 79; CHECK: .cfi_startproc 80; CHECK-NEXT: ; %bb.0: 81; CHECK-NEXT: move.w #160, %d0 82; CHECK-NEXT: rts 83 ret i16 160 84} 85 86define i32 @return_160_i32() { 87; CHECK-LABEL: return_160_i32: 88; CHECK: .cfi_startproc 89; CHECK-NEXT: ; %bb.0: 90; CHECK-NEXT: moveq #95, %d0 91; CHECK-NEXT: not.b %d0 92; CHECK-NEXT: rts 93 ret i32 160 94} 95 96define i16 @return_14281_i16() { 97; CHECK-LABEL: return_14281_i16: 98; CHECK: .cfi_startproc 99; CHECK-NEXT: ; %bb.0: 100; CHECK-NEXT: move.w #14281, %d0 101; CHECK-NEXT: rts 102 ret i16 14281 103} 104 105define i32 @return_14281_i32() { 106; CHECK-LABEL: return_14281_i32: 107; CHECK: .cfi_startproc 108; CHECK-NEXT: ; %bb.0: 109; CHECK-NEXT: move.l #14281, %d0 110; CHECK-NEXT: rts 111 ret i32 14281 112} 113 114define i64 @return_14281_i64() { 115; CHECK-LABEL: return_14281_i64: 116; CHECK: .cfi_startproc 117; CHECK-NEXT: ; %bb.0: 118; CHECK-NEXT: moveq #0, %d0 119; CHECK-NEXT: move.l #14281, %d1 120; CHECK-NEXT: rts 121 ret i64 14281 122} 123 124define ptr @return_null() { 125; CHECK-LABEL: return_null: 126; CHECK: .cfi_startproc 127; CHECK-NEXT: ; %bb.0: 128; CHECK-NEXT: suba.l %a0, %a0 129; CHECK-NEXT: rts 130 ret ptr null 131} 132 133define ptr @return_nonnull() { 134; CHECK-LABEL: return_nonnull: 135; CHECK: .cfi_startproc 136; CHECK-NEXT: ; %bb.0: 137; CHECK-NEXT: move.w #200, %a0 138; CHECK-NEXT: rts 139 ret ptr inttoptr (i32 200 to ptr) 140} 141 142define ptr @return_large_nonnull() { 143; CHECK-LABEL: return_large_nonnull: 144; CHECK: .cfi_startproc 145; CHECK-NEXT: ; %bb.0: 146; CHECK-NEXT: move.l #74281, %a0 147; CHECK-NEXT: rts 148 ret ptr inttoptr (i32 74281 to ptr) 149}