1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s 2 3define void @func0(i1 signext %p, i8* %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 i8 9 store i8 %p.conv, i8* %a, align 2 10 ret void 11} 12 13define void @func1(i8 signext %p, i16* %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 i16 19 store i16 %p.conv, i16* %a, align 2 20 ret void 21} 22 23define void @func2(i8 signext %p, i32* %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 i32 29 store i32 %p.conv, i32* %a, align 4 30 ret void 31} 32 33define void @func3(i8 signext %p, i64* %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 i64 39 store i64 %p.conv, i64* %a, align 8 40 ret void 41} 42 43define void @func5(i16 signext %p, i32* %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 i32 49 store i32 %p.conv, i32* %a, align 4 50 ret void 51} 52 53define void @func6(i16 signext %p, i64* %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 i64 59 store i64 %p.conv, i64* %a, align 8 60 ret void 61} 62 63define void @func8(i32 %p, i64* %a) { 64; CHECK-LABEL: func8: 65; CHECK: # %bb.0: 66; CHECK-NEXT: adds.w.sx %s0, %s0, (0)1 67; CHECK-NEXT: st %s0, (, %s1) 68; CHECK-NEXT: b.l.t (, %s10) 69 %p.conv = sext i32 %p to i64 70 store i64 %p.conv, i64* %a, align 8 71 ret void 72} 73