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