; RUN: llvm-as < %s | llvm-dis | FileCheck %s target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" target triple = "aarch64" @important_val = extern_weak dso_local global i32, align 4 ; CHECK-LABEL: define @const_shufflevector( ; CHECK: shufflevector ( define @const_shufflevector() { ret shufflevector ( zeroinitializer, undef, zeroinitializer) } ; CHECK-LABEL: define @const_shufflevector_ex() ; CHECK: shufflevector ( define @const_shufflevector_ex() { ret shufflevector ( zeroinitializer, undef, zeroinitializer) } ; CHECK-LABEL: define @non_const_shufflevector( ; CHECK: %res = shufflevector define @non_const_shufflevector( %lhs, %rhs) { %res = shufflevector %lhs, %rhs, zeroinitializer ret %res } ; CHECK-LABEL: define @const_select() ; CHECK: select ( define @const_select() { ret select ( insertelement ( undef, i1 icmp ne (i32* @important_val, i32* null), i32 0), zeroinitializer, insertelement ( undef, i32 1, i32 0)) }