brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 79c901d Raw
145 lines · plain
1; RUN: llc -mtriple=avr -filetype=asm -O1 < %s | FileCheck %s2 3define void @check60(ptr %1) {4; CHECK-LABEL: check60:5; CHECK-NEXT: %bb.06; CHECK-NEXT: mov r30, r247; CHECK-NEXT: mov r31, r258; CHECK-NEXT: ldd r24, Z+609; CHECK-NEXT: ldd r25, Z+6110; CHECK-NEXT: ldd r18, Z+6211; CHECK-NEXT: ldd r19, Z+6312; CHECK-NEXT: sts 3, r1913; CHECK-NEXT: sts 2, r1814; CHECK-NEXT: sts 1, r2515; CHECK-NEXT: sts 0, r2416; CHECK-NEXT: ret17 18bb0:19  %2 = getelementptr i8, ptr %1, i16 6020  %3 = load i32, ptr %2, align 121  store i32 %3, ptr null, align 122  ret void23}24 25define void @check61(ptr %1) {26; CHECK-LABEL: check61:27; CHECK-NEXT: %bb.028; CHECK-NEXT: mov r30, r2429; CHECK-NEXT: mov r31, r2530; CHECK-NEXT: ldd r18, Z+6131; CHECK-NEXT: ldd r19, Z+6232; CHECK-NEXT: adiw r24, 6333; CHECK-NEXT: mov r30, r2434; CHECK-NEXT: mov r31, r2535; CHECK-NEXT: ld r24, Z36; CHECK-NEXT: ldd r25, Z+137; CHECK-NEXT: sts 3, r2538; CHECK-NEXT: sts 2, r2439; CHECK-NEXT: sts 1, r1940; CHECK-NEXT: sts 0, r1841; CHECK-NEXT: ret42 43bb0:44  %2 = getelementptr i8, ptr %1, i16 6145  %3 = load i32, ptr %2, align 146  store i32 %3, ptr null, align 147  ret void48}49 50define void @check62(ptr %1) {51; CHECK-LABEL: check62:52; CHECK-NEXT: %bb.053; CHECK-NEXT: mov r30, r2454; CHECK-NEXT: mov r31, r2555; CHECK-NEXT: ldd r18, Z+6256; CHECK-NEXT: ldd r19, Z+6357; CHECK-NEXT: adiw r24, 6258; CHECK-NEXT: mov r30, r2459; CHECK-NEXT: mov r31, r2560; CHECK-NEXT: ldd r24, Z+261; CHECK-NEXT: ldd r25, Z+362; CHECK-NEXT: sts 3, r2563; CHECK-NEXT: sts 2, r2464; CHECK-NEXT: sts 1, r1965; CHECK-NEXT: sts 0, r1866; CHECK-NEXT: ret67 68bb0:69  %2 = getelementptr i8, ptr %1, i16 6270  %3 = load i32, ptr %2, align 171  store i32 %3, ptr null, align 172  ret void73}74 75define void @check63(ptr %1) {76; CHECK-LABEL: check63:77; CHECK-NEXT: %bb.078; CHECK-NEXT: adiw r24, 6379; CHECK-NEXT: mov r30, r2480; CHECK-NEXT: mov r31, r2581; CHECK-NEXT: ld r24, Z82; CHECK-NEXT: ldd r25, Z+183; CHECK-NEXT: ldd r18, Z+284; CHECK-NEXT: ldd r19, Z+385; CHECK-NEXT: sts 3, r1986; CHECK-NEXT: sts 2, r1887; CHECK-NEXT: sts 1, r2588; CHECK-NEXT: sts 0, r2489; CHECK-NEXT: ret90 91bb0:92  %2 = getelementptr i8, ptr %1, i16 6393  %3 = load i32, ptr %2, align 194  store i32 %3, ptr null, align 195  ret void96}97 98define void @check64(ptr %1) {99; CHECK-LABEL: check64:100; CHECK-NEXT: %bb.0101; CHECK-NEXT: subi r24, 192102; CHECK-NEXT: sbci r25, 255103; CHECK-NEXT: mov r30, r24104; CHECK-NEXT: mov r31, r25105; CHECK-NEXT: ld r24, Z106; CHECK-NEXT: ldd r25, Z+1107; CHECK-NEXT: ldd r18, Z+2108; CHECK-NEXT: ldd r19, Z+3109; CHECK-NEXT: sts 3, r19110; CHECK-NEXT: sts 2, r18111; CHECK-NEXT: sts 1, r25112; CHECK-NEXT: sts 0, r24113; CHECK-NEXT: ret114 115bb0:116  %2 = getelementptr i8, ptr %1, i16 64117  %3 = load i32, ptr %2, align 1118  store i32 %3, ptr null, align 1119  ret void120}121 122define void @check65(ptr %1) {123; CHECK-LABEL: check65:124; CHECK-NEXT: %bb.0125; CHECK-NEXT: subi r24, 191126; CHECK-NEXT: sbci r25, 255127; CHECK-NEXT: mov r30, r24128; CHECK-NEXT: mov r31, r25129; CHECK-NEXT: ld r24, Z130; CHECK-NEXT: ldd r25, Z+1131; CHECK-NEXT: ldd r18, Z+2132; CHECK-NEXT: ldd r19, Z+3133; CHECK-NEXT: sts 3, r19134; CHECK-NEXT: sts 2, r18135; CHECK-NEXT: sts 1, r25136; CHECK-NEXT: sts 0, r24137; CHECK-NEXT: ret138 139bb0:140  %2 = getelementptr i8, ptr %1, i16 65141  %3 = load i32, ptr %2, align 1142  store i32 %3, ptr null, align 1143  ret void144}145