brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 5171bcb Raw
93 lines · plain
1; RUN: llc < %s -mtriple=avr | FileCheck %s2 3define i8 @sub8_reg_reg(i8 %a, i8 %b) {4; CHECK-LABEL: sub8_reg_reg:5; CHECK: sub r24, r226    %result = sub i8 %a, %b7    ret i8 %result8}9 10define i8 @sub8_reg_imm(i8 %a) {11; CHECK-LABEL: sub8_reg_imm:12; CHECK: subi r24, 513    %result = sub i8 %a, 514    ret i8 %result15}16 17define i8 @sub8_reg_decrement(i8 %a) {18; CHECK-LABEL: sub8_reg_decrement:19; CHECK: dec r2420    %result = sub i8 %a, 121    ret i8 %result22}23 24define i16 @sub16_reg_reg(i16 %a, i16 %b) {25; CHECK-LABEL: sub16_reg_reg:26; CHECK: sub r24, r2227; CHECK: sbc r25, r2328    %result = sub i16 %a, %b29    ret i16 %result30}31 32define i16 @sub16_reg_imm(i16 %a) {33; CHECK-LABEL: sub16_reg_imm:34; CHECK: sbiw r24, 6335    %result = sub i16 %a, 6336    ret i16 %result37}38 39define i16 @sub16_reg_imm_subi(i16 %a) {40; CHECK-LABEL: sub16_reg_imm_subi:41; CHECK: subi r24, 21042; CHECK: sbci r25, 443    %result = sub i16 %a, 123444    ret i16 %result45}46 47define i32 @sub32_reg_reg(i32 %a, i32 %b) {48; CHECK-LABEL: sub32_reg_reg:49; CHECK: sub r22, r1850; CHECK: sbc r23, r1951; CHECK: sbc r24, r2052; CHECK: sbc r25, r2153    %result = sub i32 %a, %b54    ret i32 %result55}56 57define i32 @sub32_reg_imm(i32 %a) {58; CHECK-LABEL: sub32_reg_imm:59; CHECK: subi r22, 2160; CHECK: sbci r23, 20561; CHECK: sbci r24, 9162; CHECK: sbci r25, 763    %result = sub i32 %a, 12345678964    ret i32 %result65}66 67define i64 @sub64_reg_reg(i64 %a, i64 %b) {68; CHECK-LABEL: sub64_reg_reg:69; CHECK: sub r18, r1070; CHECK: sbc r20, r1271; CHECK: sbc r21, r1372; CHECK: sbc r22, r1473; CHECK: sbc r23, r1574; CHECK: sbc r24, r1675; CHECK: sbc r25, r1776    %result = sub i64 %a, %b77    ret i64 %result78}79 80define i64 @sub64_reg_imm(i64 %a) {81; CHECK-LABEL: sub64_reg_imm:82; CHECK: subi r18, 20483; CHECK: sbci r19, 20484; CHECK: sbci r20, 10485; CHECK: sbci r21, 3786; CHECK: sbci r22, 2587; CHECK: sbci r23, 2288; CHECK: sbci r24, 23689; CHECK: sbci r25, 19090    %result = sub i64 %a, 1375739525896764129291    ret i64 %result92}93