; RUN: llc < %s -mtriple=arm64-apple-ios7.0 -mcpu=cyclone | FileCheck %s define <8 x i1> @test1() { ; CHECK-LABEL: test1: ; CHECK: ; %bb.0: ; %entry ; CHECK-NEXT: movi.16b v0, #0 ; CHECK-NEXT: ret entry: %Shuff = shufflevector <8 x i1> , <8 x i1> , <8 x i32> ret <8 x i1> %Shuff } define <8 x i1>@test2() { ; CHECK-LABEL: test2: ; CHECK: ; %bb.0: ; %bb ; CHECK-NEXT: movi d0, #0x0000ff00000000 ; CHECK-NEXT: ret bb: %Shuff = shufflevector <8 x i1> zeroinitializer, <8 x i1> , <8 x i32> ret <8 x i1> %Shuff } define <16 x i1> @test3(ptr %ptr, i32 %v) { ; CHECK-LABEL: test3: ; CHECK: ; %bb.0: ; %bb ; CHECK-NEXT: movi.2d v0, #0x0000ff000000ff ; CHECK-NEXT: ret bb: %Shuff = shufflevector <16 x i1> , <16 x i1> undef, <16 x i32> ret <16 x i1> %Shuff } ; CHECK-LABEL: lCPI3_0: ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 255 ; 0xff ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 ; CHECK: .byte 0 ; 0x0 define <16 x i1> @test4(ptr %ptr, i32 %v) { ; CHECK-LABEL: _test4: ; CHECK: adrp x[[REG3:[0-9]+]], lCPI3_0@PAGE ; CHECK: ldr q[[REG2:[0-9]+]], [x[[REG3]], lCPI3_0@PAGEOFF] bb: %Shuff = shufflevector <16 x i1> zeroinitializer, <16 x i1> , <16 x i32> ret <16 x i1> %Shuff }