1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; The alignment arguments for NEON load/store intrinsics can be increased 4*9880d681SAndroid Build Coastguard Worker; by instcombine. Check for this. 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; CHECK: vld4.v2i32.p0i8({{.*}}, i32 32) 7*9880d681SAndroid Build Coastguard Worker; CHECK: vst4.p0i8.v2i32({{.*}}, i32 16) 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker@x = common global [8 x i32] zeroinitializer, align 32 10*9880d681SAndroid Build Coastguard Worker@y = common global [8 x i32] zeroinitializer, align 16 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker%struct.__neon_int32x2x4_t = type { <2 x i32>, <2 x i32>, <2 x i32>, <2 x i32> } 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine void @test() nounwind ssp { 15*9880d681SAndroid Build Coastguard Worker %tmp1 = call %struct.__neon_int32x2x4_t @llvm.arm.neon.vld4.v2i32.p0i8(i8* bitcast ([8 x i32]* @x to i8*), i32 1) 16*9880d681SAndroid Build Coastguard Worker %tmp2 = extractvalue %struct.__neon_int32x2x4_t %tmp1, 0 17*9880d681SAndroid Build Coastguard Worker %tmp3 = extractvalue %struct.__neon_int32x2x4_t %tmp1, 1 18*9880d681SAndroid Build Coastguard Worker %tmp4 = extractvalue %struct.__neon_int32x2x4_t %tmp1, 2 19*9880d681SAndroid Build Coastguard Worker %tmp5 = extractvalue %struct.__neon_int32x2x4_t %tmp1, 3 20*9880d681SAndroid Build Coastguard Worker call void @llvm.arm.neon.vst4.p0i8.v2i32(i8* bitcast ([8 x i32]* @y to i8*), <2 x i32> %tmp2, <2 x i32> %tmp3, <2 x i32> %tmp4, <2 x i32> %tmp5, i32 1) 21*9880d681SAndroid Build Coastguard Worker ret void 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workerdeclare %struct.__neon_int32x2x4_t @llvm.arm.neon.vld4.v2i32.p0i8(i8*, i32) nounwind readonly 25*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.arm.neon.vst4.p0i8.v2i32(i8*, <2 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, i32) nounwind 26