1 ; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s
3 define void @func0(i1 signext %p, ptr %a) {
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, ptr %a, align 2
13 define void @func1(i8 signext %p, ptr %a) {
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, ptr %a, align 2
23 define void @func2(i8 signext %p, ptr %a) {
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, ptr %a, align 4
33 define void @func3(i8 signext %p, ptr %a) {
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, ptr %a, align 8
43 define void @func5(i16 signext %p, ptr %a) {
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, ptr %a, align 4
53 define void @func6(i16 signext %p, ptr %a) {
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, ptr %a, align 8
63 define void @func8(i32 %p, ptr %a) {
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, ptr %a, align 8