73 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3define void @func0(i1 signext %p, ptr %a) {4; CHECK-LABEL: func0:5; CHECK: # %bb.0:6; CHECK-NEXT: st1b %s0, (, %s1)7; CHECK-NEXT: b.l.t (, %s10)8 %p.conv = sext i1 %p to i89 store i8 %p.conv, ptr %a, align 210 ret void11}12 13define void @func1(i8 signext %p, ptr %a) {14; CHECK-LABEL: func1:15; CHECK: # %bb.0:16; CHECK-NEXT: st2b %s0, (, %s1)17; CHECK-NEXT: b.l.t (, %s10)18 %p.conv = sext i8 %p to i1619 store i16 %p.conv, ptr %a, align 220 ret void21}22 23define void @func2(i8 signext %p, ptr %a) {24; CHECK-LABEL: func2:25; CHECK: # %bb.0:26; CHECK-NEXT: stl %s0, (, %s1)27; CHECK-NEXT: b.l.t (, %s10)28 %p.conv = sext i8 %p to i3229 store i32 %p.conv, ptr %a, align 430 ret void31}32 33define void @func3(i8 signext %p, ptr %a) {34; CHECK-LABEL: func3:35; CHECK: # %bb.0:36; CHECK-NEXT: st %s0, (, %s1)37; CHECK-NEXT: b.l.t (, %s10)38 %p.conv = sext i8 %p to i6439 store i64 %p.conv, ptr %a, align 840 ret void41}42 43define void @func5(i16 signext %p, ptr %a) {44; CHECK-LABEL: func5:45; CHECK: # %bb.0:46; CHECK-NEXT: stl %s0, (, %s1)47; CHECK-NEXT: b.l.t (, %s10)48 %p.conv = sext i16 %p to i3249 store i32 %p.conv, ptr %a, align 450 ret void51}52 53define void @func6(i16 signext %p, ptr %a) {54; CHECK-LABEL: func6:55; CHECK: # %bb.0:56; CHECK-NEXT: st %s0, (, %s1)57; CHECK-NEXT: b.l.t (, %s10)58 %p.conv = sext i16 %p to i6459 store i64 %p.conv, ptr %a, align 860 ret void61}62 63define void @func8(i32 %p, ptr %a) {64; CHECK-LABEL: func8:65; CHECK: # %bb.0:66; CHECK-NEXT: adds.w.sx %s0, %s0, (0)167; CHECK-NEXT: st %s0, (, %s1)68; CHECK-NEXT: b.l.t (, %s10)69 %p.conv = sext i32 %p to i6470 store i64 %p.conv, ptr %a, align 871 ret void72}73