; RUN: llc < %s -mtriple=thumbv7s-apple-ios3.0.0 -mcpu=generic | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-LE ; RUN: llc < %s -mtriple=thumbeb -target-abi apcs -mattr=v7,neon | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-BE ; PR15525 ; CHECK-LABEL: test1: ; CHECK: ldr.w [[REG:r[0-9]+]], [sp] ; CHECK-LE-NEXT: vmov {{d[0-9]+}}, r1, r2 ; CHECK-LE-NEXT: vmov {{d[0-9]+}}, r3, [[REG]] ; CHECK-BE-NEXT: vmov {{d[0-9]+}}, r2, r1 ; CHECK-BE: vmov {{d[0-9]+}}, [[REG]], r3 ; CHECK: vst1.8 {{{d[0-9]+}}, {{d[0-9]+}}}, [r0] ; CHECK-NEXT: bx lr define void @test1(i8* %arg, [4 x i64] %vec.coerce) { bb: %tmp = extractvalue [4 x i64] %vec.coerce, 0 %tmp2 = bitcast i64 %tmp to <8 x i8> %tmp3 = shufflevector <8 x i8> %tmp2, <8 x i8> undef, <16 x i32> %tmp4 = extractvalue [4 x i64] %vec.coerce, 1 %tmp5 = bitcast i64 %tmp4 to <8 x i8> %tmp6 = shufflevector <8 x i8> %tmp5, <8 x i8> undef, <16 x i32> %tmp7 = shufflevector <16 x i8> %tmp6, <16 x i8> %tmp3, <16 x i32> tail call void @llvm.arm.neon.vst1.p0i8.v16i8(i8* %arg, <16 x i8> %tmp7, i32 2) ret void } declare void @llvm.arm.neon.vst1.p0i8.v16i8(i8*, <16 x i8>, i32)