Lines Matching refs:i8
10 declare <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8>, <16 x i8>)
12 define <16 x i8> @combine_vpshufb_as_zero(<16 x i8> %a0) {
22 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 128, i8 0, i8 0, i8 0, i8 0, i8 0, i8…
23 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %res0, <16 x i8> <i8 0, i8 128, i8 0, i8 0, i8 0, i8 0, …
24 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %res1, <16 x i8> <i8 0, i8 1, i8 128, i8 128, i8 128, i8…
25 ret <16 x i8> %res2
28 define <16 x i8> @combine_vpshufb_as_movq(<16 x i8> %a0) {
38 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 128, i8 1, i8 128, i8 2, i8 128…
39 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %res0, <16 x i8> <i8 0, i8 2, i8 4, i8 6, i8 8, i8 10, i…
40 ret <16 x i8> %res1
59 %2 = bitcast <2 x double> %1 to <16 x i8>
60 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %2, <16 x i8> <i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i…
61 %4 = bitcast <16 x i8> %3 to <2 x double>
81 %2 = bitcast <4 x float> %1 to <16 x i8>
82 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %2, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 12, i8 13, i8 …
83 %4 = bitcast <16 x i8> %3 to <4 x float>
87 define <4 x i32> @combine_pshufb_as_zext(<16 x i8> %a0) {
102 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 -1, i8 -1, i8 -1, i8 1, i8 -1, …
103 %2 = bitcast <16 x i8> %1 to <4 x i32>
117 %1 = bitcast <2 x double> %a0 to <16 x i8>
118 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6,…
119 %3 = bitcast <16 x i8> %2 to <2 x double>
142 %1 = bitcast <4 x float> %a0 to <16 x i8>
143 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 -1, i8 -1, i8 …
144 %3 = bitcast <16 x i8> %2 to <4 x float>
158 %1 = bitcast <4 x float> %a0 to <16 x i8>
159 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 5, i8 5, i8 5, i8 5, i8 7, i8 7, i8 …
160 %3 = bitcast <16 x i8> %2 to <4 x float>
175 %1 = bitcast <4 x float> %a0 to <16 x i8>
176 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 5, i8 5, i8 5, i8 5, i8 7, i8 7, i8 …
177 %3 = bitcast <16 x i8> %2 to <4 x float>
192 %1 = bitcast <4 x float> %a0 to <16 x i8>
193 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 5, i8 5, i8 5, i8 5, i8 7, i8 7, i8 …
194 %3 = bitcast <16 x i8> %2 to <4 x float>
199 define <16 x i8> @combine_pshufb_palignr(<16 x i8> %a0, <16 x i8> %a1) {
209 …%1 = shufflevector <16 x i8> %a0, <16 x i8> %a1, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12,…
210 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 …
211 ret <16 x i8> %2
214 define <16 x i8> @combine_pshufb_pslldq(<16 x i8> %a0) {
224 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 128, i8 128, i8 128, i8 128, i8 128, …
225 …%2 = shufflevector <16 x i8> %1, <16 x i8> zeroinitializer, <16 x i32> <i32 16, i32 16, i32 16, i3…
226 ret <16 x i8> %2
229 define <16 x i8> @combine_pshufb_psrldq(<16 x i8> %a0) {
239 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, …
240 …%2 = shufflevector <16 x i8> %1, <16 x i8> zeroinitializer, <16 x i32> <i32 8, i32 9, i32 10, i32 …
241 ret <16 x i8> %2
244 define <16 x i8> @combine_and_pshufb(<16 x i8> %a0) {
261 …%1 = shufflevector <16 x i8> %a0, <16 x i8> zeroinitializer, <16 x i32> <i32 16, i32 16, i32 2, i3…
262 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 0, i8 1, i8 -1, i8 -1, i8 -1, i8 -1, i…
263 ret <16 x i8> %2
266 define <16 x i8> @combine_pshufb_and(<16 x i8> %a0) {
283 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 1, i8 -1, i8 -1, i8 -1, i8 -1, …
284 …%2 = shufflevector <16 x i8> %1, <16 x i8> zeroinitializer, <16 x i32> <i32 16, i32 16, i32 2, i32…
285 ret <16 x i8> %2
288 define <16 x i8> @combine_pshufb_as_palignr(<16 x i8> %a0) {
298 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7…
299 ret <16 x i8> %res0
302 define <16 x i8> @combine_pshufb_as_pslldq(<16 x i8> %a0) {
312 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 128, i8 128, i8 128, i8 128, i8 128, …
313 ret <16 x i8> %res0
316 define <16 x i8> @combine_pshufb_as_psrldq(<16 x i8> %a0) {
326 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 15, i8 128, i8 128, i8 128, i8 128, i…
327 ret <16 x i8> %res0
330 define <16 x i8> @combine_pshufb_as_psrlw(<16 x i8> %a0) {
340 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 1, i8 128, i8 3, i8 128, i8 5, i8 128…
341 ret <16 x i8> %res0
344 define <16 x i8> @combine_pshufb_as_pslld(<16 x i8> %a0) {
354 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 128, i8 128, i8 128, i8 0, i8 128, i8…
355 ret <16 x i8> %res0
358 define <16 x i8> @combine_pshufb_as_psrlq(<16 x i8> %a0) {
368 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 5, i8 6, i8 7, i8 128, i8 128, i8 128…
369 ret <16 x i8> %res0
372 define <16 x i8> @combine_pshufb_as_pshuflw(<16 x i8> %a0) {
382 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 2, i8 3, i8 0, i8 1, i8 6, i8 7, i8 4…
383 ret <16 x i8> %res0
386 define <16 x i8> @combine_pshufb_as_pshufhw(<16 x i8> %a0) {
396 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6…
397 ret <16 x i8> %res0
400 define <16 x i8> @combine_pshufb_not_as_pshufw(<16 x i8> %a0) {
423 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 2, i8 3, i8 0, i8 1, i8 6, i8 7, i8 4…
424 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %res0, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8…
425 ret <16 x i8> %res1
428 define <16 x i8> @combine_vpshufb_as_pshuflw_not_pslld(<16 x i8> *%a0) {
438 %res0 = load <16 x i8>, <16 x i8> *%a0, align 16
439 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %res0, <16 x i8> <i8 undef, i8 undef, i8 0, i8 1, i8 und…
440 ret <16 x i8> %res1
443 define <16 x i8> @combine_pshufb_as_unary_unpcklbw(<16 x i8> %a0) {
453 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 undef, i8 undef, i8 1, i8 2, i8…
454 ret <16 x i8> %1
457 define <16 x i8> @combine_pshufb_as_unary_unpckhwd(<16 x i8> %a0) {
467 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 8, i8 9, i8 8, i8 9, i8 10, i8 11, i8…
468 ret <16 x i8> %1
471 define <8 x i16> @combine_pshufb_as_unpacklo_undef(<16 x i8> %a0) {
475 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 undef, i8 undef, i8 0, i8 1, i8 undef…
476 %2 = bitcast <16 x i8> %1 to <8 x i16>
481 define <16 x i8> @combine_pshufb_as_unpackhi_undef(<16 x i8> %a0) {
485 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 8, i8 undef, i8 9, i8 undef, i8 10, i…
486 …%2 = shufflevector <16 x i8> %1, <16 x i8> undef, <16 x i32> <i32 1, i32 1, i32 3, i32 3, i32 5, i…
487 ret <16 x i8> %2
490 define <16 x i8> @combine_pshufb_as_unpacklo_zero(<16 x i8> %a0) {
503 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 0, i8 1, …
504 ret <16 x i8> %1
507 define <16 x i8> @combine_pshufb_as_unpackhi_zero(<16 x i8> %a0) {
519 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 8, i8 -1, i8 9, i8 -1, i8 10, i8 -1, …
520 ret <16 x i8> %1
523 define <16 x i8> @combine_psrlw_pshufb(<8 x i16> %a0) {
534 %2 = bitcast <8 x i16> %1 to <16 x i8>
535 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %2, <16 x i8> <i8 0, i8 -1, i8 -1, i8 -1, i8 0, i8 -1, i…
536 ret <16 x i8> %3
539 define <16 x i8> @combine_pslld_pshufb(<4 x i32> %a0) {
550 %2 = bitcast <4 x i32> %1 to <16 x i8>
551 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %2, <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5,…
552 ret <16 x i8> %3
555 define <16 x i8> @combine_psrlq_pshufb(<2 x i64> %a0) {
566 %2 = bitcast <2 x i64> %1 to <16 x i8>
567 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %2, <16 x i8> <i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1,…
568 ret <16 x i8> %3
571 define <16 x i8> @combine_unpckl_arg0_pshufb(<16 x i8> %a0, <16 x i8> %a1) {
581 …%1 = shufflevector <16 x i8> %a0, <16 x i8> %a1, <16 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, …
582 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 0, i8 -1, i8 -1, i8 -1, i8 0, i8 -1, i…
583 ret <16 x i8> %2
586 define <16 x i8> @combine_unpckl_arg1_pshufb(<16 x i8> %a0, <16 x i8> %a1) {
597 …%1 = shufflevector <16 x i8> %a0, <16 x i8> %a1, <16 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, …
598 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> <i8 1, i8 -1, i8 -1, i8 -1, i8 1, i8 -1, i…
599 ret <16 x i8> %2
623 define <16 x i8> @shuffle_combine_packssdw_pshufb(<4 x i32> %a0) {
637 %3 = bitcast <8 x i16> %2 to <16 x i8>
638 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %3, <16 x i8> <i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1,…
639 ret <16 x i8> %4
643 define <16 x i8> @shuffle_combine_packsswb_pshufb(<8 x i16> %a0, <8 x i16> %a1) {
657 %3 = tail call <16 x i8> @llvm.x86.sse2.packsswb.128(<8 x i16> %1, <8 x i16> %2)
658 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %3, <16 x i8> <i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 …
659 ret <16 x i8> %4
661 declare <16 x i8> @llvm.x86.sse2.packsswb.128(<8 x i16>, <8 x i16>) nounwind readnone
663 define <16 x i8> @shuffle_combine_packuswb_pshufb(<8 x i16> %a0, <8 x i16> %a1) {
675 %3 = tail call <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16> %1, <8 x i16> %2)
676 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %3, <16 x i8> <i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 …
677 ret <16 x i8> %4
679 declare <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16>, <8 x i16>) nounwind readnone
681 define <16 x i8> @combine_pshufb_pshufb_or_as_blend(<16 x i8> %a0, <16 x i8> %a1) {
696 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6…
697 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a1, <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1…
698 %3 = or <16 x i8> %1, %2
699 ret <16 x i8> %3
702 define <16 x i8> @combine_pshufb_pshufb_or_as_unpcklbw(<16 x i8> %a0, <16 x i8> %a1) {
712 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 -1, i8 1, i8 -1, i8 2, i8 -1, i…
713 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a1, <16 x i8> <i8 -1, i8 0, i8 -1, i8 1, i8 -1, i8 2, i…
714 %3 = or <16 x i8> %1, %2
715 ret <16 x i8> %3
718 define <16 x i8> @combine_pshufb_pshufb_or_pshufb(<16 x i8> %a0) {
738 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 -1, i8 -1, i8…
739 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 0, i8 1, …
740 %3 = or <16 x i8> %1, %2
741 …x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %3, <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 0, i8 1, i8 …
742 ret <16 x i8> %4
745 define <16 x i8> @constant_fold_pshufb() {
755 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> <i8 15, i8 14, i8 13, i8 12, i8 11, i8 10, i8 9, i8 8, i…
756 ret <16 x i8> %1
759 define <16 x i8> @constant_fold_pshufb_2() {
771 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> <i8 2, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i…
772 ret <16 x i8> %1
775 define i32 @mask_zzz3_v16i8(<16 x i8> %a0) {
796 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 2, i8 4, i8 6, i8 8, i8 10, i8 …
797 %2 = bitcast <16 x i8> %1 to <4 x i32>
803 define i32 @mask_z1z3_v16i8(<16 x i8> %a0) {
821 …i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> <i8 0, i8 2, i8 4, i8 6, i8 8, i8 10, i8 …
822 %2 = bitcast <16 x i8> %1 to <4 x i32>
840 %1 = bitcast double %a0 to <8 x i8>
841 %2 = shufflevector <8 x i8> %1, <8 x i8> undef, <4 x i32> <i32 0, i32 2, i32 4, i32 undef>
842 %3 = shufflevector <4 x i8> %2, <4 x i8> undef, <3 x i32> <i32 0, i32 1, i32 2>
843 %4 = bitcast <3 x i8> %3 to i24