| ; RUN: llc < %s -march=avr | FileCheck %s |
| |
| ; CHECK-LABEL: ret_i8 |
| define i8 @ret_i8() { |
| ; CHECK: ldi r24, 64 |
| ret i8 64 |
| } |
| |
| ; CHECK-LABEL: ret_i16 |
| define i16 @ret_i16() { |
| ; CHECK: ldi r24, 0 |
| ; CHECK-NEXT: ldi r25, 4 |
| ret i16 1024 |
| } |
| |
| ; CHECK-LABEL: ret_i32 |
| define i32 @ret_i32() { |
| ; CHECK: ldi r22, 78 |
| ; CHECK-NEXT: ldi r23, 97 |
| ; CHECK-NEXT: ldi r24, 188 |
| ; CHECK-NEXT: ldi r25, 0 |
| ret i32 12345678 |
| } |
| |
| ; CHECK-LABEL: ret_i64 |
| define i64 @ret_i64() { |
| ; CHECK: ldi r18, 0 |
| ; CHECK-NEXT: ldi r19, 255 |
| ; CHECK-NEXT: mov r20, r18 |
| ; CHECK-NEXT: mov r21, r19 |
| ; CHECK-NEXT: mov r22, r18 |
| ; CHECK-NEXT: mov r23, r19 |
| ; CHECK-NEXT: mov r24, r18 |
| ; CHECK-NEXT: mov r25, r19 |
| ret i64 18374966859414961920 |
| } |