brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 24d4c07 Raw
98 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-asm-full-reg-names \3; RUN:   -ppc-vsr-nums-as-vr -mtriple=powerpc64le-unknown-linux-gnu < %s | \4; RUN:   FileCheck %s --check-prefix=CHECK-LE-P95; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-asm-full-reg-names \6; RUN:   -ppc-vsr-nums-as-vr -mtriple=powerpc64-unknown-linux-gnu < %s | \7; RUN:   FileCheck %s --check-prefix=CHECK-BE-P98; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-asm-full-reg-names \9; RUN:   -ppc-vsr-nums-as-vr -mtriple=powerpc64-ibm-aix < %s | \10; RUN:   FileCheck %s --check-prefix=CHECK-AIX-64-P911; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-asm-full-reg-names \12; RUN:   -ppc-vsr-nums-as-vr -mtriple=powerpc-ibm-aix < %s | \13; RUN:   FileCheck %s --check-prefix=CHECK-AIX-32-P914 15; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable16define dso_local noundef <16 x i8> @test1(<16 x i8> noundef %burn, <16 x i8> noundef %a, <16 x i8> noundef %b) local_unnamed_addr #0 {17; CHECK-LE-P9-LABEL: test1:18; CHECK-LE-P9:       # %bb.0: # %entry19; CHECK-LE-P9-NEXT:    addis r3, r2, .LCPI0_0@toc@ha20; CHECK-LE-P9-NEXT:    addi r3, r3, .LCPI0_0@toc@l21; CHECK-LE-P9-NEXT:    lxv vs0, 0(r3)22; CHECK-LE-P9-NEXT:    xxperm v4, v3, vs023; CHECK-LE-P9-NEXT:    vaddubm v2, v4, v324; CHECK-LE-P9-NEXT:    blr25;26; CHECK-BE-P9-LABEL: test1:27; CHECK-BE-P9:       # %bb.0: # %entry28; CHECK-BE-P9-NEXT:    addis r3, r2, .LCPI0_0@toc@ha29; CHECK-BE-P9-NEXT:    addi r3, r3, .LCPI0_0@toc@l30; CHECK-BE-P9-NEXT:    lxv vs0, 0(r3)31; CHECK-BE-P9-NEXT:    xxperm v4, v3, vs032; CHECK-BE-P9-NEXT:    vaddubm v2, v4, v333; CHECK-BE-P9-NEXT:    blr34;35; CHECK-AIX-64-P9-LABEL: test1:36; CHECK-AIX-64-P9:       # %bb.0: # %entry37; CHECK-AIX-64-P9-NEXT:    ld r3, L..C0(r2) # %const.038; CHECK-AIX-64-P9-NEXT:    lxv vs0, 0(r3)39; CHECK-AIX-64-P9-NEXT:    xxperm v4, v3, vs040; CHECK-AIX-64-P9-NEXT:    vaddubm v2, v4, v341; CHECK-AIX-64-P9-NEXT:    blr42;43; CHECK-AIX-32-P9-LABEL: test1:44; CHECK-AIX-32-P9:       # %bb.0: # %entry45; CHECK-AIX-32-P9-NEXT:    lwz r3, L..C0(r2) # %const.046; CHECK-AIX-32-P9-NEXT:    lxv vs0, 0(r3)47; CHECK-AIX-32-P9-NEXT:    xxperm v4, v3, vs048; CHECK-AIX-32-P9-NEXT:    vaddubm v2, v4, v349; CHECK-AIX-32-P9-NEXT:    blr50entry:51  %shuffle = shufflevector <16 x i8> %a, <16 x i8> %b, <16 x i32> <i32 1, i32 18, i32 23, i32 12, i32 22, i32 22, i32 22, i32 22, i32 0, i32 0, i32 0, i32 0, i32 9, i32 9, i32 9, i32 9>52  %add = add <16 x i8> %shuffle, %a53  ret <16 x i8> %add54}55 56; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable57define dso_local noundef <16 x i8> @test2(<16 x i8> noundef %burn, <16 x i8> noundef %a, <16 x i8> noundef %b) local_unnamed_addr #0 {58; CHECK-LE-P9-LABEL: test2:59; CHECK-LE-P9:       # %bb.0: # %entry60; CHECK-LE-P9-NEXT:    addis r3, r2, .LCPI1_0@toc@ha61; CHECK-LE-P9-NEXT:    addi r3, r3, .LCPI1_0@toc@l62; CHECK-LE-P9-NEXT:    lxv vs0, 0(r3)63; CHECK-LE-P9-NEXT:    xxperm v3, v4, vs064; CHECK-LE-P9-NEXT:    vaddubm v2, v3, v465; CHECK-LE-P9-NEXT:    blr66;67; CHECK-BE-P9-LABEL: test2:68; CHECK-BE-P9:       # %bb.0: # %entry69; CHECK-BE-P9-NEXT:    addis r3, r2, .LCPI1_0@toc@ha70; CHECK-BE-P9-NEXT:    addi r3, r3, .LCPI1_0@toc@l71; CHECK-BE-P9-NEXT:    lxv vs0, 0(r3)72; CHECK-BE-P9-NEXT:    xxperm v3, v4, vs073; CHECK-BE-P9-NEXT:    vaddubm v2, v3, v474; CHECK-BE-P9-NEXT:    blr75;76; CHECK-AIX-64-P9-LABEL: test2:77; CHECK-AIX-64-P9:       # %bb.0: # %entry78; CHECK-AIX-64-P9-NEXT:    ld r3, L..C1(r2) # %const.079; CHECK-AIX-64-P9-NEXT:    lxv vs0, 0(r3)80; CHECK-AIX-64-P9-NEXT:    xxperm v3, v4, vs081; CHECK-AIX-64-P9-NEXT:    vaddubm v2, v3, v482; CHECK-AIX-64-P9-NEXT:    blr83;84; CHECK-AIX-32-P9-LABEL: test2:85; CHECK-AIX-32-P9:       # %bb.0: # %entry86; CHECK-AIX-32-P9-NEXT:    lwz r3, L..C1(r2) # %const.087; CHECK-AIX-32-P9-NEXT:    lxv vs0, 0(r3)88; CHECK-AIX-32-P9-NEXT:    xxperm v3, v4, vs089; CHECK-AIX-32-P9-NEXT:    vaddubm v2, v3, v490; CHECK-AIX-32-P9-NEXT:    blr91entry:92  %shuffle = shufflevector <16 x i8> %a, <16 x i8> %b, <16 x i32> <i32 1, i32 18, i32 23, i32 12, i32 22, i32 22, i32 22, i32 22, i32 0, i32 0, i32 0, i32 0, i32 9, i32 9, i32 9, i32 9>93  %add = add <16 x i8> %shuffle, %b94  ret <16 x i8> %add95}96 97attributes #0 = {nounwind}98