xref: /llvm-project/llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll (revision 2dd4167a09cfe1a1e09852e99b4984ddb3e89cf7)
17d574ffaSDavid Sherwood; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 3
24178e334SSimon Pilgrim; RUN: opt  -passes="print<cost-model>" 2>&1 -disable-output -mtriple=aarch64--linux-gnu -mattr=+sve < %s | FileCheck %s
3be663c43SSander de Smalen
475f1b328SMingming Liutarget datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
575f1b328SMingming Liu
6be663c43SSander de Smalendefine void @scalable_loads() {
7be663c43SSander de Smalen; CHECK-LABEL: 'scalable_loads'
87d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %res.nxv8i8 = load <vscale x 8 x i8>, ptr undef, align 8
97d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %res.nxv16i8 = load <vscale x 16 x i8>, ptr undef, align 16
107d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %res.nxv32i8 = load <vscale x 32 x i8>, ptr undef, align 32
117d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Invalid cost for instruction: %res.nxv1i64 = load <vscale x 1 x i64>, ptr undef, align 8
12*2dd4167aSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %res.nxv32i1 = load <vscale x 32 x i1>, ptr undef, align 4
13*2dd4167aSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %res.nxv16i1 = load <vscale x 16 x i1>, ptr undef, align 2
14*2dd4167aSDavid Sherwood; CHECK-NEXT:  Cost Model: Invalid cost for instruction: %res.nxv4i1 = load <vscale x 4 x i1>, ptr undef, align 1
157d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
167d574ffaSDavid Sherwood;
1768c50b11SNikita Popov  %res.nxv8i8 = load <vscale x 8 x i8>, ptr undef
1868c50b11SNikita Popov  %res.nxv16i8 = load <vscale x 16 x i8>, ptr undef
1968c50b11SNikita Popov  %res.nxv32i8 = load <vscale x 32 x i8>, ptr undef
2068c50b11SNikita Popov  %res.nxv1i64 = load <vscale x 1 x i64>, ptr undef
21*2dd4167aSDavid Sherwood  %res.nxv32i1 = load <vscale x 32 x i1>, ptr undef
22*2dd4167aSDavid Sherwood  %res.nxv16i1 = load <vscale x 16 x i1>, ptr undef
23*2dd4167aSDavid Sherwood  %res.nxv4i1 = load <vscale x 4 x i1>, ptr undef
24be663c43SSander de Smalen  ret void
25be663c43SSander de Smalen}
26be663c43SSander de Smalen
27be663c43SSander de Smalendefine void @scalable_stores() {
28be663c43SSander de Smalen; CHECK-LABEL: 'scalable_stores'
297d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store <vscale x 8 x i8> undef, ptr undef, align 8
307d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store <vscale x 16 x i8> undef, ptr undef, align 16
317d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store <vscale x 32 x i8> undef, ptr undef, align 32
327d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Invalid cost for instruction: store <vscale x 1 x i64> undef, ptr undef, align 8
33*2dd4167aSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store <vscale x 32 x i1> undef, ptr undef, align 4
34*2dd4167aSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store <vscale x 16 x i1> undef, ptr undef, align 2
35*2dd4167aSDavid Sherwood; CHECK-NEXT:  Cost Model: Invalid cost for instruction: store <vscale x 4 x i1> undef, ptr undef, align 1
367d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
377d574ffaSDavid Sherwood;
3868c50b11SNikita Popov  store <vscale x 8 x i8> undef, ptr undef
3968c50b11SNikita Popov  store <vscale x 16 x i8> undef, ptr undef
4068c50b11SNikita Popov  store <vscale x 32 x i8> undef, ptr undef
4168c50b11SNikita Popov  store <vscale x 1 x i64> undef, ptr undef
42*2dd4167aSDavid Sherwood  store <vscale x 32 x i1> undef, ptr undef
43*2dd4167aSDavid Sherwood  store <vscale x 16 x i1> undef, ptr undef
44*2dd4167aSDavid Sherwood  store <vscale x 4 x i1> undef, ptr undef
45be663c43SSander de Smalen  ret void
46be663c43SSander de Smalen}
47a1ed8e36SDavid Sherwood
48a1ed8e36SDavid Sherwooddefine void @scalable_ext_loads() {
49a1ed8e36SDavid Sherwood; CHECK-LABEL: 'scalable_ext_loads'
50a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv16i8 = load <vscale x 16 x i8>, ptr undef, align 16
51a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %zext.nxv16i8to16 = zext <vscale x 16 x i8> %load.nxv16i8 to <vscale x 16 x i16>
52a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv8i8 = load <vscale x 8 x i8>, ptr undef, align 8
53a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %zext.nxv8i8to16 = zext <vscale x 8 x i8> %load.nxv8i8 to <vscale x 8 x i16>
54a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv4i8 = load <vscale x 4 x i8>, ptr undef, align 4
55a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %zext.nxv4i8to32 = zext <vscale x 4 x i8> %load.nxv4i8 to <vscale x 4 x i32>
56a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv2i8 = load <vscale x 2 x i8>, ptr undef, align 2
57a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %zext.nxv2i8to64 = zext <vscale x 2 x i8> %load.nxv2i8 to <vscale x 2 x i64>
58a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv8i16 = load <vscale x 8 x i16>, ptr undef, align 16
59a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %zext.nxv8i16to32 = zext <vscale x 8 x i16> %load.nxv8i16 to <vscale x 8 x i32>
60a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv4i16 = load <vscale x 4 x i16>, ptr undef, align 8
61a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %zext.nxv4i16to32 = zext <vscale x 4 x i16> %load.nxv4i16 to <vscale x 4 x i32>
62a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv2i16 = load <vscale x 2 x i16>, ptr undef, align 4
63a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %zext.nxv2i16to64 = zext <vscale x 2 x i16> %load.nxv2i16 to <vscale x 2 x i64>
64a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv4i32 = load <vscale x 4 x i32>, ptr undef, align 16
65a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %zext.nxv4i32to64 = zext <vscale x 4 x i32> %load.nxv4i32 to <vscale x 4 x i64>
66a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv2i32 = load <vscale x 2 x i32>, ptr undef, align 8
67a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %zext.nxv2i32to64 = zext <vscale x 2 x i32> %load.nxv2i32 to <vscale x 2 x i64>
68fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv4i8.2 = load <vscale x 4 x i8>, ptr undef, align 4
69fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %zext.nxv4i8to64 = zext <vscale x 4 x i8> %load.nxv4i8.2 to <vscale x 4 x i64>
70fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv4i16.2 = load <vscale x 4 x i16>, ptr undef, align 8
71fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %zext.nxv4i16to64 = zext <vscale x 4 x i16> %load.nxv4i16.2 to <vscale x 4 x i64>
72fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv8i8.2 = load <vscale x 8 x i8>, ptr undef, align 8
73fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %zext.nxv8i8to32 = zext <vscale x 8 x i8> %load.nxv8i8.2 to <vscale x 8 x i32>
74fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load.nxv8i8.3 = load <vscale x 8 x i8>, ptr undef, align 8
75fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %zext.nxv8i8to64 = zext <vscale x 8 x i8> %load.nxv8i8.3 to <vscale x 8 x i64>
76a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv16i8 = load <vscale x 16 x i8>, ptr undef, align 16
77a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %sext.nxv16i8to16 = sext <vscale x 16 x i8> %load2.nxv16i8 to <vscale x 16 x i16>
78a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv8i8 = load <vscale x 8 x i8>, ptr undef, align 8
79a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %sext.nxv8i8to16 = sext <vscale x 8 x i8> %load2.nxv8i8 to <vscale x 8 x i16>
80a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv4i8 = load <vscale x 4 x i8>, ptr undef, align 4
81a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %sext.nxv4i8to32 = sext <vscale x 4 x i8> %load2.nxv4i8 to <vscale x 4 x i32>
82a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv2i8 = load <vscale x 2 x i8>, ptr undef, align 2
83a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %sext.nxv2i8to64 = sext <vscale x 2 x i8> %load2.nxv2i8 to <vscale x 2 x i64>
84a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv8i16 = load <vscale x 8 x i16>, ptr undef, align 16
85a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %sext.nxv8i16to32 = sext <vscale x 8 x i16> %load2.nxv8i16 to <vscale x 8 x i32>
86a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv4i16 = load <vscale x 4 x i16>, ptr undef, align 8
87a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %sext.nxv4i16to32 = sext <vscale x 4 x i16> %load2.nxv4i16 to <vscale x 4 x i32>
88a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv2i16 = load <vscale x 2 x i16>, ptr undef, align 4
89a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %sext.nxv2i16to64 = sext <vscale x 2 x i16> %load2.nxv2i16 to <vscale x 2 x i64>
90a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv4i32 = load <vscale x 4 x i32>, ptr undef, align 16
91a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %sext.nxv4i32to64 = sext <vscale x 4 x i32> %load2.nxv4i32 to <vscale x 4 x i64>
92a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv2i32 = load <vscale x 2 x i32>, ptr undef, align 8
93a1ed8e36SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %sext.nxv2i32to64 = sext <vscale x 2 x i32> %load2.nxv2i32 to <vscale x 2 x i64>
94fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv4i8.2 = load <vscale x 4 x i8>, ptr undef, align 4
95fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %sext.nxv4i8to64 = sext <vscale x 4 x i8> %load2.nxv4i8.2 to <vscale x 4 x i64>
96fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv4i16.2 = load <vscale x 4 x i16>, ptr undef, align 8
97fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %sext.nxv4i16to64 = sext <vscale x 4 x i16> %load2.nxv4i16.2 to <vscale x 4 x i64>
98fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv8i8.2 = load <vscale x 8 x i8>, ptr undef, align 8
99fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %sext.nxv8i8to32 = sext <vscale x 8 x i8> %load2.nxv8i8.2 to <vscale x 8 x i32>
100fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %load2.nxv8i8.3 = load <vscale x 8 x i8>, ptr undef, align 8
101fad69a50SDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %sext.nxv8i8to64 = sext <vscale x 8 x i8> %load2.nxv8i8.3 to <vscale x 8 x i64>
1027d574ffaSDavid Sherwood; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1037d574ffaSDavid Sherwood;
1047d574ffaSDavid Sherwood
105a1ed8e36SDavid Sherwood
106a1ed8e36SDavid Sherwood  %load.nxv16i8 = load <vscale x 16 x i8>, ptr undef
107a1ed8e36SDavid Sherwood  %zext.nxv16i8to16 = zext <vscale x 16 x i8> %load.nxv16i8 to <vscale x 16 x i16>
108a1ed8e36SDavid Sherwood  %load.nxv8i8 = load <vscale x 8 x i8>, ptr undef
109a1ed8e36SDavid Sherwood  %zext.nxv8i8to16 = zext <vscale x 8 x i8> %load.nxv8i8 to <vscale x 8 x i16>
110a1ed8e36SDavid Sherwood  %load.nxv4i8 = load <vscale x 4 x i8>, ptr undef
111a1ed8e36SDavid Sherwood  %zext.nxv4i8to32 = zext <vscale x 4 x i8> %load.nxv4i8 to <vscale x 4 x i32>
112a1ed8e36SDavid Sherwood  %load.nxv2i8 = load <vscale x 2 x i8>, ptr undef
113a1ed8e36SDavid Sherwood  %zext.nxv2i8to64 = zext <vscale x 2 x i8> %load.nxv2i8 to <vscale x 2 x i64>
114a1ed8e36SDavid Sherwood  %load.nxv8i16 = load <vscale x 8 x i16>, ptr undef
115a1ed8e36SDavid Sherwood  %zext.nxv8i16to32 = zext <vscale x 8 x i16> %load.nxv8i16 to <vscale x 8 x i32>
116a1ed8e36SDavid Sherwood  %load.nxv4i16 = load <vscale x 4 x i16>, ptr undef
117a1ed8e36SDavid Sherwood  %zext.nxv4i16to32 = zext <vscale x 4 x i16> %load.nxv4i16 to <vscale x 4 x i32>
118a1ed8e36SDavid Sherwood  %load.nxv2i16 = load <vscale x 2 x i16>, ptr undef
119a1ed8e36SDavid Sherwood  %zext.nxv2i16to64 = zext <vscale x 2 x i16> %load.nxv2i16 to <vscale x 2 x i64>
120a1ed8e36SDavid Sherwood  %load.nxv4i32 = load <vscale x 4 x i32>, ptr undef
121a1ed8e36SDavid Sherwood  %zext.nxv4i32to64 = zext <vscale x 4 x i32> %load.nxv4i32 to <vscale x 4 x i64>
122a1ed8e36SDavid Sherwood  %load.nxv2i32 = load <vscale x 2 x i32>, ptr undef
123a1ed8e36SDavid Sherwood  %zext.nxv2i32to64 = zext <vscale x 2 x i32> %load.nxv2i32 to <vscale x 2 x i64>
124fad69a50SDavid Sherwood  %load.nxv4i8.2 = load <vscale x 4 x i8>, ptr undef
125fad69a50SDavid Sherwood  %zext.nxv4i8to64 = zext <vscale x 4 x i8> %load.nxv4i8.2 to <vscale x 4 x i64>
126fad69a50SDavid Sherwood  %load.nxv4i16.2 = load <vscale x 4 x i16>, ptr undef
127fad69a50SDavid Sherwood  %zext.nxv4i16to64 = zext <vscale x 4 x i16> %load.nxv4i16.2 to <vscale x 4 x i64>
128fad69a50SDavid Sherwood  %load.nxv8i8.2 = load <vscale x 8 x i8>, ptr undef
129fad69a50SDavid Sherwood  %zext.nxv8i8to32 = zext <vscale x 8 x i8> %load.nxv8i8.2 to <vscale x 8 x i32>
130fad69a50SDavid Sherwood  %load.nxv8i8.3 = load <vscale x 8 x i8>, ptr undef
131fad69a50SDavid Sherwood  %zext.nxv8i8to64 = zext <vscale x 8 x i8> %load.nxv8i8.3 to <vscale x 8 x i64>
132a1ed8e36SDavid Sherwood
133a1ed8e36SDavid Sherwood  %load2.nxv16i8 = load <vscale x 16 x i8>, ptr undef
134a1ed8e36SDavid Sherwood  %sext.nxv16i8to16 = sext <vscale x 16 x i8> %load2.nxv16i8 to <vscale x 16 x i16>
135a1ed8e36SDavid Sherwood  %load2.nxv8i8 = load <vscale x 8 x i8>, ptr undef
136a1ed8e36SDavid Sherwood  %sext.nxv8i8to16 = sext <vscale x 8 x i8> %load2.nxv8i8 to <vscale x 8 x i16>
137a1ed8e36SDavid Sherwood  %load2.nxv4i8 = load <vscale x 4 x i8>, ptr undef
138a1ed8e36SDavid Sherwood  %sext.nxv4i8to32 = sext <vscale x 4 x i8> %load2.nxv4i8 to <vscale x 4 x i32>
139a1ed8e36SDavid Sherwood  %load2.nxv2i8 = load <vscale x 2 x i8>, ptr undef
140a1ed8e36SDavid Sherwood  %sext.nxv2i8to64 = sext <vscale x 2 x i8> %load2.nxv2i8 to <vscale x 2 x i64>
141a1ed8e36SDavid Sherwood  %load2.nxv8i16 = load <vscale x 8 x i16>, ptr undef
142a1ed8e36SDavid Sherwood  %sext.nxv8i16to32 = sext <vscale x 8 x i16> %load2.nxv8i16 to <vscale x 8 x i32>
143a1ed8e36SDavid Sherwood  %load2.nxv4i16 = load <vscale x 4 x i16>, ptr undef
144a1ed8e36SDavid Sherwood  %sext.nxv4i16to32 = sext <vscale x 4 x i16> %load2.nxv4i16 to <vscale x 4 x i32>
145a1ed8e36SDavid Sherwood  %load2.nxv2i16 = load <vscale x 2 x i16>, ptr undef
146a1ed8e36SDavid Sherwood  %sext.nxv2i16to64 = sext <vscale x 2 x i16> %load2.nxv2i16 to <vscale x 2 x i64>
147a1ed8e36SDavid Sherwood  %load2.nxv4i32 = load <vscale x 4 x i32>, ptr undef
148a1ed8e36SDavid Sherwood  %sext.nxv4i32to64 = sext <vscale x 4 x i32> %load2.nxv4i32 to <vscale x 4 x i64>
149a1ed8e36SDavid Sherwood  %load2.nxv2i32 = load <vscale x 2 x i32>, ptr undef
150a1ed8e36SDavid Sherwood  %sext.nxv2i32to64 = sext <vscale x 2 x i32> %load2.nxv2i32 to <vscale x 2 x i64>
151fad69a50SDavid Sherwood  %load2.nxv4i8.2 = load <vscale x 4 x i8>, ptr undef
152fad69a50SDavid Sherwood  %sext.nxv4i8to64 = sext <vscale x 4 x i8> %load2.nxv4i8.2 to <vscale x 4 x i64>
153fad69a50SDavid Sherwood  %load2.nxv4i16.2 = load <vscale x 4 x i16>, ptr undef
154fad69a50SDavid Sherwood  %sext.nxv4i16to64 = sext <vscale x 4 x i16> %load2.nxv4i16.2 to <vscale x 4 x i64>
155fad69a50SDavid Sherwood  %load2.nxv8i8.2 = load <vscale x 8 x i8>, ptr undef
156fad69a50SDavid Sherwood  %sext.nxv8i8to32 = sext <vscale x 8 x i8> %load2.nxv8i8.2 to <vscale x 8 x i32>
157fad69a50SDavid Sherwood  %load2.nxv8i8.3 = load <vscale x 8 x i8>, ptr undef
158fad69a50SDavid Sherwood  %sext.nxv8i8to64 = sext <vscale x 8 x i8> %load2.nxv8i8.3 to <vscale x 8 x i64>
159a1ed8e36SDavid Sherwood
160a1ed8e36SDavid Sherwood  ret void
161a1ed8e36SDavid Sherwood}
162a1ed8e36SDavid Sherwood
163