48 lines · plain
1; RUN: llvm-as < %s | llvm-dis | FileCheck %s2 3target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"4target triple = "aarch64"5 6@important_val = extern_weak dso_local global i32, align 47 8; CHECK-LABEL: define <vscale x 4 x i32> @const_shufflevector(9; CHECK: <vscale x 4 x i32> zeroinitializer10 11define <vscale x 4 x i32> @const_shufflevector() {12 ret <vscale x 4 x i32> shufflevector (<vscale x 4 x i32> zeroinitializer,13 <vscale x 4 x i32> undef,14 <vscale x 4 x i32> zeroinitializer)15}16 17; CHECK-LABEL: define <vscale x 4 x i32> @const_shufflevector_ex()18; CHECK: <vscale x 4 x i32> zeroinitializer19 20define <vscale x 4 x i32> @const_shufflevector_ex() {21 ret <vscale x 4 x i32> shufflevector (<vscale x 2 x i32> zeroinitializer,22 <vscale x 2 x i32> undef,23 <vscale x 4 x i32> zeroinitializer)24}25 26; CHECK-LABEL: define <vscale x 4 x i32> @non_const_shufflevector(27; CHECK: %res = shufflevector <vscale x 4 x i32>28 29define <vscale x 4 x i32> @non_const_shufflevector(<vscale x 4 x i32> %lhs,30 <vscale x 4 x i32> %rhs) {31 %res = shufflevector <vscale x 4 x i32> %lhs,32 <vscale x 4 x i32> %rhs,33 <vscale x 4 x i32> zeroinitializer34 35 ret <vscale x 4 x i32> %res36}37 38; CHECK-LABEL: define <vscale x 4 x i32> @const_select()39; CHECK: select <vscale x 4 x i1>40 41define <vscale x 4 x i32> @const_select() {42 %s = select <vscale x 4 x i1> insertelement43 (<vscale x 4 x i1> undef, i1 true, i32 0),44 <vscale x 4 x i32> zeroinitializer,45 <vscale x 4 x i32> insertelement (<vscale x 4 x i32> undef, i32 1, i32 0)46 ret <vscale x 4 x i32> %s47}48