brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · d4928f9 Raw
101 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mattr=+altivec -ppc-asm-full-reg-names < %s | FileCheck %s --check-prefixes=LE3; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mattr=+altivec,+direct-move -ppc-asm-full-reg-names < %s | FileCheck %s --check-prefixes=BE4 5; LE-LABEL: .LCPI0_0:6; LE-NEXT: 	.byte	317; LE-NEXT: 	.byte	158; LE-NEXT: 	.byte	309; LE-NEXT: 	.byte	1410; LE-NEXT: 	.byte	2911; LE-NEXT: 	.byte	1312; LE-NEXT: 	.byte	2813; LE-NEXT: 	.byte	1214; LE-NEXT: 	.byte	3115; LE-NEXT: 	.byte	1516; LE-NEXT: 	.byte	3117; LE-NEXT: 	.byte	1518; LE-NEXT: 	.byte	3119; LE-NEXT: 	.byte	1520; LE-NEXT: 	.byte	3121; LE-NEXT: 	.byte	1522 23; BE-LABEL: .LCPI0_0:24; BE-NEXT: 	.byte	025; BE-NEXT: 	.byte	1626; BE-NEXT: 	.byte	127; BE-NEXT: 	.byte	1628; BE-NEXT: 	.byte	229; BE-NEXT: 	.byte	1630; BE-NEXT: 	.byte	331; BE-NEXT: 	.byte	1632; BE-NEXT: 	.byte	033; BE-NEXT: 	.byte	1634; BE-NEXT: 	.byte	035; BE-NEXT: 	.byte	1636; BE-NEXT: 	.byte	037; BE-NEXT: 	.byte	1638; BE-NEXT: 	.byte	039; BE-NEXT: 	.byte	1640 41define <16 x i8> @test1(<16 x i8> %a) {42; LE-LABEL: test1:43; LE:       # %bb.0:44; LE-NEXT:    addis r3, r2, .LCPI0_0@toc@ha45; LE-NEXT:    xxlxor vs36, vs36, vs3646; LE-NEXT:    addi r3, r3, .LCPI0_0@toc@l47; LE-NEXT:    lxvd2x vs0, 0, r348; LE-NEXT:    xxswapd vs35, vs049; LE-NEXT:    vperm v2, v4, v2, v350; LE-NEXT:    blr51;52; BE-LABEL: test1:53; BE:       # %bb.0:54; BE-NEXT:    addis r3, r2, .LCPI0_0@toc@ha55; BE-NEXT:    xxlxor vs36, vs36, vs3656; BE-NEXT:    addi r3, r3, .LCPI0_0@toc@l57; BE-NEXT:    lxvw4x vs35, 0, r358; BE-NEXT:    vperm v2, v2, v4, v359; BE-NEXT:    blr60  %shuffle = shufflevector <16 x i8> %a, <16 x i8> zeroinitializer, <16 x i32> <i32 0, i32 16, i32 1, i32 16, i32 2, i32 16, i32 3, i32 16, i32 poison, i32 16, i32 poison, i32 16, i32 poison, i32 16, i32 poison, i32 16>61  ret <16 x i8> %shuffle62}63 64; LE-LABEL: .LCPI1_0:65; LE-NEXT: 	.byte	3166; LE-NEXT: 	.byte	1567; LE-NEXT: 	.byte	3168; LE-NEXT: 	.byte	1469; LE-NEXT: 	.byte	3170; LE-NEXT: 	.byte	1371; LE-NEXT: 	.byte	3172; LE-NEXT: 	.byte	1273; LE-NEXT: 	.byte	3174; LE-NEXT: 	.byte	1175; LE-NEXT: 	.byte	3176; LE-NEXT: 	.byte	1077; LE-NEXT: 	.byte	3178; LE-NEXT: 	.byte	979; LE-NEXT: 	.byte	3180; LE-NEXT: 	.byte	881 82define <16 x i8> @test2(<16 x i8> %a) {83; LE-LABEL: test2:84; LE:       # %bb.0:85; LE-NEXT:    addis r3, r2, .LCPI1_0@toc@ha86; LE-NEXT:    xxlxor vs36, vs36, vs3687; LE-NEXT:    addi r3, r3, .LCPI1_0@toc@l88; LE-NEXT:    lxvd2x vs0, 0, r389; LE-NEXT:    xxswapd vs35, vs090; LE-NEXT:    vperm v2, v2, v4, v391; LE-NEXT:    blr92;93; BE-LABEL: test2:94; BE:       # %bb.0:95; BE-NEXT:    xxlxor vs35, vs35, vs3596; BE-NEXT:    vmrghb v2, v3, v297; BE-NEXT:    blr98  %shuffle = shufflevector <16 x i8> %a, <16 x i8> zeroinitializer, <16 x i32> <i32 16, i32 0, i32 16, i32 1, i32 16, i32 2, i32 16, i32 3, i32 16, i32 4, i32 poison, i32 5, i32 poison, i32 6, i32 poison, i32 7>99  ret <16 x i8> %shuffle100}101