1ffe6c97fSSimon Moll; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+vpu | FileCheck %s 2ffe6c97fSSimon Moll 3ffe6c97fSSimon Moll; ISA-compatible vector broadcasts 4ffe6c97fSSimon Molldefine fastcc <256 x i64> @brd_v256i64(i64 %s) { 5ffe6c97fSSimon Moll; CHECK-LABEL: brd_v256i64: 6ffe6c97fSSimon Moll; CHECK: # %bb.0: 7ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 8ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 9ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 10ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 11ffe6c97fSSimon Moll %val = insertelement <256 x i64> undef, i64 %s, i32 0 12ffe6c97fSSimon Moll %ret = shufflevector <256 x i64> %val, <256 x i64> undef, <256 x i32> zeroinitializer 13ffe6c97fSSimon Moll ret <256 x i64> %ret 14ffe6c97fSSimon Moll} 15ffe6c97fSSimon Moll 16ffe6c97fSSimon Molldefine fastcc <256 x i64> @brdi_v256i64() { 17ffe6c97fSSimon Moll; CHECK-LABEL: brdi_v256i64: 18ffe6c97fSSimon Moll; CHECK: # %bb.0: 19ffe6c97fSSimon Moll; CHECK-NEXT: lea %s0, 256 20ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s0 21ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, 1 22ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 23ffe6c97fSSimon Moll %val = insertelement <256 x i64> undef, i64 1, i32 0 24ffe6c97fSSimon Moll %ret = shufflevector <256 x i64> %val, <256 x i64> undef, <256 x i32> zeroinitializer 25ffe6c97fSSimon Moll ret <256 x i64> %ret 26ffe6c97fSSimon Moll} 27ffe6c97fSSimon Moll 28ffe6c97fSSimon Molldefine fastcc <256 x double> @brd_v256f64(double %s) { 29ffe6c97fSSimon Moll; CHECK-LABEL: brd_v256f64: 30ffe6c97fSSimon Moll; CHECK: # %bb.0: 31ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 32ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 33ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 34ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 35ffe6c97fSSimon Moll %val = insertelement <256 x double> undef, double %s, i32 0 36ffe6c97fSSimon Moll %ret = shufflevector <256 x double> %val, <256 x double> undef, <256 x i32> zeroinitializer 37ffe6c97fSSimon Moll ret <256 x double> %ret 38ffe6c97fSSimon Moll} 39ffe6c97fSSimon Moll 40ffe6c97fSSimon Molldefine fastcc <256 x double> @brdi_v256f64() { 41ffe6c97fSSimon Moll; CHECK-LABEL: brdi_v256f64: 42ffe6c97fSSimon Moll; CHECK: # %bb.0: 43ffe6c97fSSimon Moll; CHECK-NEXT: lea %s0, 256 44ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s0 45ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, 0 46ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 47ffe6c97fSSimon Moll %val = insertelement <256 x double> undef, double 0.e+00, i32 0 48ffe6c97fSSimon Moll %ret = shufflevector <256 x double> %val, <256 x double> undef, <256 x i32> zeroinitializer 49ffe6c97fSSimon Moll ret <256 x double> %ret 50ffe6c97fSSimon Moll} 51ffe6c97fSSimon Moll 52ffe6c97fSSimon Molldefine fastcc <256 x i32> @brd_v256i32(i32 %s) { 53ffe6c97fSSimon Moll; CHECK-LABEL: brd_v256i32: 54ffe6c97fSSimon Moll; CHECK: # %bb.0: 55*44a679eaSKazushi (Jam) Marukawa; CHECK-NEXT: and %s0, %s0, (32)0 56ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 57ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 58ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 59ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 60ffe6c97fSSimon Moll %val = insertelement <256 x i32> undef, i32 %s, i32 0 61ffe6c97fSSimon Moll %ret = shufflevector <256 x i32> %val, <256 x i32> undef, <256 x i32> zeroinitializer 62ffe6c97fSSimon Moll ret <256 x i32> %ret 63ffe6c97fSSimon Moll} 64ffe6c97fSSimon Moll 65ffe6c97fSSimon Molldefine fastcc <256 x i32> @brdi_v256i32(i32 %s) { 66ffe6c97fSSimon Moll; CHECK-LABEL: brdi_v256i32: 67ffe6c97fSSimon Moll; CHECK: # %bb.0: 68ffe6c97fSSimon Moll; CHECK-NEXT: lea %s0, 256 69ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s0 70ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, 13 71ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 72ffe6c97fSSimon Moll %val = insertelement <256 x i32> undef, i32 13, i32 0 73ffe6c97fSSimon Moll %ret = shufflevector <256 x i32> %val, <256 x i32> undef, <256 x i32> zeroinitializer 74ffe6c97fSSimon Moll ret <256 x i32> %ret 75ffe6c97fSSimon Moll} 76ffe6c97fSSimon Moll 77ffe6c97fSSimon Molldefine fastcc <256 x float> @brd_v256f32(float %s) { 78ffe6c97fSSimon Moll; CHECK-LABEL: brd_v256f32: 79ffe6c97fSSimon Moll; CHECK: # %bb.0: 80ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 81ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 82ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 83ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 84ffe6c97fSSimon Moll %val = insertelement <256 x float> undef, float %s, i32 0 85ffe6c97fSSimon Moll %ret = shufflevector <256 x float> %val, <256 x float> undef, <256 x i32> zeroinitializer 86ffe6c97fSSimon Moll ret <256 x float> %ret 87ffe6c97fSSimon Moll} 88ffe6c97fSSimon Moll 89ffe6c97fSSimon Molldefine fastcc <256 x float> @brdi_v256f32(float %s) { 90ffe6c97fSSimon Moll; CHECK-LABEL: brdi_v256f32: 91ffe6c97fSSimon Moll; CHECK: # %bb.0: 92ffe6c97fSSimon Moll; CHECK-NEXT: lea %s0, 256 93ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s0 94ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, 0 95ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 96ffe6c97fSSimon Moll %val = insertelement <256 x float> undef, float 0.e+00, i32 0 97ffe6c97fSSimon Moll %ret = shufflevector <256 x float> %val, <256 x float> undef, <256 x i32> zeroinitializer 98ffe6c97fSSimon Moll ret <256 x float> %ret 99ffe6c97fSSimon Moll} 100ffe6c97fSSimon Moll 101ffe6c97fSSimon Moll 102ffe6c97fSSimon Moll; Shorter vectors, we expect these to be widened (for now). 103ffe6c97fSSimon Molldefine fastcc <128 x i64> @brd_v128i64(i64 %s) { 104ffe6c97fSSimon Moll; CHECK-LABEL: brd_v128i64: 105ffe6c97fSSimon Moll; CHECK: # %bb.0: 106ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 107ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 108ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 109ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 110ffe6c97fSSimon Moll %val = insertelement <128 x i64> undef, i64 %s, i32 0 111ffe6c97fSSimon Moll %ret = shufflevector <128 x i64> %val, <128 x i64> undef, <128 x i32> zeroinitializer 112ffe6c97fSSimon Moll ret <128 x i64> %ret 113ffe6c97fSSimon Moll} 114ffe6c97fSSimon Moll 115ffe6c97fSSimon Molldefine fastcc <128 x double> @brd_v128f64(double %s) { 116ffe6c97fSSimon Moll; CHECK-LABEL: brd_v128f64: 117ffe6c97fSSimon Moll; CHECK: # %bb.0: 118ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 119ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 120ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 121ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 122ffe6c97fSSimon Moll %val = insertelement <128 x double> undef, double %s, i32 0 123ffe6c97fSSimon Moll %ret = shufflevector <128 x double> %val, <128 x double> undef, <128 x i32> zeroinitializer 124ffe6c97fSSimon Moll ret <128 x double> %ret 125ffe6c97fSSimon Moll} 126ffe6c97fSSimon Moll 127ffe6c97fSSimon Molldefine fastcc <128 x i32> @brd_v128i32(i32 %s) { 128ffe6c97fSSimon Moll; CHECK-LABEL: brd_v128i32: 129ffe6c97fSSimon Moll; CHECK: # %bb.0: 130*44a679eaSKazushi (Jam) Marukawa; CHECK-NEXT: and %s0, %s0, (32)0 131ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 132ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 133ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 134ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 135ffe6c97fSSimon Moll %val = insertelement <128 x i32> undef, i32 %s, i32 0 136ffe6c97fSSimon Moll %ret = shufflevector <128 x i32> %val, <128 x i32> undef, <128 x i32> zeroinitializer 137ffe6c97fSSimon Moll ret <128 x i32> %ret 138ffe6c97fSSimon Moll} 139ffe6c97fSSimon Moll 140ffe6c97fSSimon Molldefine fastcc <128 x i32> @brdi_v128i32(i32 %s) { 141ffe6c97fSSimon Moll; CHECK-LABEL: brdi_v128i32: 142ffe6c97fSSimon Moll; CHECK: # %bb.0: 143ffe6c97fSSimon Moll; CHECK-NEXT: lea %s0, 256 144ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s0 145ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, 13 146ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 147ffe6c97fSSimon Moll %val = insertelement <128 x i32> undef, i32 13, i32 0 148ffe6c97fSSimon Moll %ret = shufflevector <128 x i32> %val, <128 x i32> undef, <128 x i32> zeroinitializer 149ffe6c97fSSimon Moll ret <128 x i32> %ret 150ffe6c97fSSimon Moll} 151ffe6c97fSSimon Moll 152ffe6c97fSSimon Molldefine fastcc <128 x float> @brd_v128f32(float %s) { 153ffe6c97fSSimon Moll; CHECK-LABEL: brd_v128f32: 154ffe6c97fSSimon Moll; CHECK: # %bb.0: 155ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 156ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 157ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 158ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 159ffe6c97fSSimon Moll %val = insertelement <128 x float> undef, float %s, i32 0 160ffe6c97fSSimon Moll %ret = shufflevector <128 x float> %val, <128 x float> undef, <128 x i32> zeroinitializer 161ffe6c97fSSimon Moll ret <128 x float> %ret 162ffe6c97fSSimon Moll} 163ffe6c97fSSimon Moll 164ffe6c97fSSimon Molldefine fastcc <128 x float> @brdi_v128f32(float %s) { 165ffe6c97fSSimon Moll; CHECK-LABEL: brdi_v128f32: 166ffe6c97fSSimon Moll; CHECK: # %bb.0: 167ffe6c97fSSimon Moll; CHECK-NEXT: lea %s0, 256 168ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s0 169ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, 0 170ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 171ffe6c97fSSimon Moll %val = insertelement <128 x float> undef, float 0.e+00, i32 0 172ffe6c97fSSimon Moll %ret = shufflevector <128 x float> %val, <128 x float> undef, <128 x i32> zeroinitializer 173ffe6c97fSSimon Moll ret <128 x float> %ret 174ffe6c97fSSimon Moll} 175ffe6c97fSSimon Moll 176ffe6c97fSSimon Moll; Vectors with small element types and valid element count, we expect those to be promoted. 177ffe6c97fSSimon Molldefine fastcc <256 x i16> @brd_v256i16(i16 %s) { 178ffe6c97fSSimon Moll; CHECK-LABEL: brd_v256i16: 179ffe6c97fSSimon Moll; CHECK: # %bb.0: 180*44a679eaSKazushi (Jam) Marukawa; CHECK-NEXT: and %s0, %s0, (32)0 181ffe6c97fSSimon Moll; CHECK-NEXT: lea %s1, 256 182ffe6c97fSSimon Moll; CHECK-NEXT: lvl %s1 183ffe6c97fSSimon Moll; CHECK-NEXT: vbrd %v0, %s0 184ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 185ffe6c97fSSimon Moll %val = insertelement <256 x i16> undef, i16 %s, i32 0 186ffe6c97fSSimon Moll %ret = shufflevector <256 x i16> %val, <256 x i16> undef, <256 x i32> zeroinitializer 187ffe6c97fSSimon Moll ret <256 x i16> %ret 188ffe6c97fSSimon Moll} 189ffe6c97fSSimon Moll 190ffe6c97fSSimon Moll; Vectors with small element types and low element count, these are scalarized for now. 191ffe6c97fSSimon Moll; FIXME Promote + Widen 192ffe6c97fSSimon Molldefine fastcc <128 x i16> @brd_v128i16(i16 %s) { 193ffe6c97fSSimon Moll; CHECK-LABEL: brd_v128i16: 194ffe6c97fSSimon Moll; CHECK: # %bb.0: 195*44a679eaSKazushi (Jam) Marukawa; CHECK-NEXT: and %s1, %s1, (32)0 196ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 254(, %s0) 197ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 252(, %s0) 198ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 250(, %s0) 199ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 248(, %s0) 200ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 246(, %s0) 201ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 244(, %s0) 202ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 242(, %s0) 203ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 240(, %s0) 204ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 238(, %s0) 205ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 236(, %s0) 206ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 234(, %s0) 207ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 232(, %s0) 208ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 230(, %s0) 209ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 228(, %s0) 210ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 226(, %s0) 211ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 224(, %s0) 212ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 222(, %s0) 213ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 220(, %s0) 214ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 218(, %s0) 215ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 216(, %s0) 216ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 214(, %s0) 217ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 212(, %s0) 218ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 210(, %s0) 219ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 208(, %s0) 220ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 206(, %s0) 221ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 204(, %s0) 222ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 202(, %s0) 223ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 200(, %s0) 224ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 198(, %s0) 225ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 196(, %s0) 226ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 194(, %s0) 227ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 192(, %s0) 228ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 190(, %s0) 229ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 188(, %s0) 230ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 186(, %s0) 231ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 184(, %s0) 232ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 182(, %s0) 233ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 180(, %s0) 234ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 178(, %s0) 235ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 176(, %s0) 236ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 174(, %s0) 237ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 172(, %s0) 238ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 170(, %s0) 239ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 168(, %s0) 240ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 166(, %s0) 241ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 164(, %s0) 242ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 162(, %s0) 243ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 160(, %s0) 244ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 158(, %s0) 245ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 156(, %s0) 246ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 154(, %s0) 247ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 152(, %s0) 248ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 150(, %s0) 249ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 148(, %s0) 250ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 146(, %s0) 251ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 144(, %s0) 252ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 142(, %s0) 253ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 140(, %s0) 254ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 138(, %s0) 255ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 136(, %s0) 256ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 134(, %s0) 257ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 132(, %s0) 258ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 130(, %s0) 259ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 128(, %s0) 260ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 126(, %s0) 261ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 124(, %s0) 262ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 122(, %s0) 263ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 120(, %s0) 264ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 118(, %s0) 265ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 116(, %s0) 266ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 114(, %s0) 267ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 112(, %s0) 268ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 110(, %s0) 269ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 108(, %s0) 270ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 106(, %s0) 271ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 104(, %s0) 272ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 102(, %s0) 273ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 100(, %s0) 274ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 98(, %s0) 275ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 96(, %s0) 276ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 94(, %s0) 277ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 92(, %s0) 278ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 90(, %s0) 279ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 88(, %s0) 280ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 86(, %s0) 281ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 84(, %s0) 282ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 82(, %s0) 283ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 80(, %s0) 284ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 78(, %s0) 285ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 76(, %s0) 286ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 74(, %s0) 287ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 72(, %s0) 288ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 70(, %s0) 289ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 68(, %s0) 290ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 66(, %s0) 291ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 64(, %s0) 292ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 62(, %s0) 293ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 60(, %s0) 294ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 58(, %s0) 295ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 56(, %s0) 296ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 54(, %s0) 297ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 52(, %s0) 298ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 50(, %s0) 299ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 48(, %s0) 300ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 46(, %s0) 301ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 44(, %s0) 302ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 42(, %s0) 303ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 40(, %s0) 304ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 38(, %s0) 305ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 36(, %s0) 306ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 34(, %s0) 307ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 32(, %s0) 308ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 30(, %s0) 309ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 28(, %s0) 310ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 26(, %s0) 311ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 24(, %s0) 312ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 22(, %s0) 313ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 20(, %s0) 314ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 18(, %s0) 315ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 16(, %s0) 316ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 14(, %s0) 317ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 12(, %s0) 318ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 10(, %s0) 319ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 8(, %s0) 320ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 6(, %s0) 321ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 4(, %s0) 322ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, 2(, %s0) 323ffe6c97fSSimon Moll; CHECK-NEXT: st2b %s1, (, %s0) 324ffe6c97fSSimon Moll; CHECK-NEXT: b.l.t (, %s10) 325ffe6c97fSSimon Moll %val = insertelement <128 x i16> undef, i16 %s, i32 0 326ffe6c97fSSimon Moll %ret = shufflevector <128 x i16> %val, <128 x i16> undef, <128 x i32> zeroinitializer 327ffe6c97fSSimon Moll ret <128 x i16> %ret 328ffe6c97fSSimon Moll} 329