149 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s3 4define i1 @return_true() {5; CHECK-LABEL: return_true:6; CHECK: .cfi_startproc7; CHECK-NEXT: ; %bb.0:8; CHECK-NEXT: moveq #1, %d09; CHECK-NEXT: rts10 ret i1 true11}12 13define i8 @return_0_i8() {14; CHECK-LABEL: return_0_i8:15; CHECK: .cfi_startproc16; CHECK-NEXT: ; %bb.0:17; CHECK-NEXT: moveq #0, %d018; CHECK-NEXT: rts19 ret i8 020}21 22define i16 @return_0_i16() {23; CHECK-LABEL: return_0_i16:24; CHECK: .cfi_startproc25; CHECK-NEXT: ; %bb.0:26; CHECK-NEXT: moveq #0, %d027; CHECK-NEXT: rts28 ret i16 029}30 31define i32 @return_0_i32() {32; CHECK-LABEL: return_0_i32:33; CHECK: .cfi_startproc34; CHECK-NEXT: ; %bb.0:35; CHECK-NEXT: moveq #0, %d036; CHECK-NEXT: rts37 ret i32 038}39 40define i64 @return_0_i64() {41; CHECK-LABEL: return_0_i64:42; CHECK: .cfi_startproc43; CHECK-NEXT: ; %bb.0:44; CHECK-NEXT: moveq #0, %d045; CHECK-NEXT: move.l %d0, %d146; CHECK-NEXT: rts47 ret i64 048}49 50define i16 @return_neg1_i16() {51; CHECK-LABEL: return_neg1_i16:52; CHECK: .cfi_startproc53; CHECK-NEXT: ; %bb.0:54; CHECK-NEXT: moveq #-1, %d055; CHECK-NEXT: rts56 ret i16 -157}58 59define i32 @return_neg1_i32() {60; CHECK-LABEL: return_neg1_i32:61; CHECK: .cfi_startproc62; CHECK-NEXT: ; %bb.0:63; CHECK-NEXT: moveq #-1, %d064; CHECK-NEXT: rts65 ret i32 -166}67 68define i8 @return_160_i8() {69; CHECK-LABEL: return_160_i8:70; CHECK: .cfi_startproc71; CHECK-NEXT: ; %bb.0:72; CHECK-NEXT: moveq #-96, %d073; CHECK-NEXT: rts74 ret i8 16075}76 77define i16 @return_160_i16() {78; CHECK-LABEL: return_160_i16:79; CHECK: .cfi_startproc80; CHECK-NEXT: ; %bb.0:81; CHECK-NEXT: move.w #160, %d082; CHECK-NEXT: rts83 ret i16 16084}85 86define i32 @return_160_i32() {87; CHECK-LABEL: return_160_i32:88; CHECK: .cfi_startproc89; CHECK-NEXT: ; %bb.0:90; CHECK-NEXT: moveq #95, %d091; CHECK-NEXT: not.b %d092; CHECK-NEXT: rts93 ret i32 16094}95 96define i16 @return_14281_i16() {97; CHECK-LABEL: return_14281_i16:98; CHECK: .cfi_startproc99; CHECK-NEXT: ; %bb.0:100; CHECK-NEXT: move.w #14281, %d0101; CHECK-NEXT: rts102 ret i16 14281103}104 105define i32 @return_14281_i32() {106; CHECK-LABEL: return_14281_i32:107; CHECK: .cfi_startproc108; CHECK-NEXT: ; %bb.0:109; CHECK-NEXT: move.l #14281, %d0110; CHECK-NEXT: rts111 ret i32 14281112}113 114define i64 @return_14281_i64() {115; CHECK-LABEL: return_14281_i64:116; CHECK: .cfi_startproc117; CHECK-NEXT: ; %bb.0:118; CHECK-NEXT: moveq #0, %d0119; CHECK-NEXT: move.l #14281, %d1120; CHECK-NEXT: rts121 ret i64 14281122}123 124define ptr @return_null() {125; CHECK-LABEL: return_null:126; CHECK: .cfi_startproc127; CHECK-NEXT: ; %bb.0:128; CHECK-NEXT: suba.l %a0, %a0129; CHECK-NEXT: rts130 ret ptr null131}132 133define ptr @return_nonnull() {134; CHECK-LABEL: return_nonnull:135; CHECK: .cfi_startproc136; CHECK-NEXT: ; %bb.0:137; CHECK-NEXT: move.w #200, %a0138; CHECK-NEXT: rts139 ret ptr inttoptr (i32 200 to ptr)140}141 142define ptr @return_large_nonnull() {143; CHECK-LABEL: return_large_nonnull:144; CHECK: .cfi_startproc145; CHECK-NEXT: ; %bb.0:146; CHECK-NEXT: move.l #74281, %a0147; CHECK-NEXT: rts148 ret ptr inttoptr (i32 74281 to ptr)149}