brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · 449beeb Raw
92 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; Testfile that verifies positive case (0 or 1 only) for BCD builtins national2packed, packed2zoned and zoned2packed.3; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \4; RUN:   -ppc-asm-full-reg-names  < %s | FileCheck %s5 6; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mtriple=powerpc64-unknown-unknown \7; RUN:   -ppc-asm-full-reg-names  < %s | FileCheck %s8 9; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mtriple=powerpc-unknown-unknown \10; RUN:   -ppc-asm-full-reg-names  < %s | FileCheck %s11 12; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mtriple=powerpc64-ibm-aix-xcoff \13; RUN:   -ppc-asm-full-reg-names  < %s | FileCheck %s14 15declare <16 x i8> @llvm.ppc.national2packed(<16 x i8>, i32 immarg)16 17define <16 x i8> @tBcd_National2packed_imm0(<16 x i8> %a) {18; CHECK-LABEL: tBcd_National2packed_imm0:19; CHECK:       # %bb.0: # %entry20; CHECK-NEXT:    bcdcfn. v2, v2, 021; CHECK-NEXT:    blr22entry:23  %0 = call <16 x i8> @llvm.ppc.national2packed(<16 x i8> %a, i32 0)24  ret <16 x i8> %025}26 27define <16 x i8> @tBcd_National2packed_imm1(<16 x i8> %a) {28; CHECK-LABEL: tBcd_National2packed_imm1:29; CHECK:       # %bb.0: # %entry30; CHECK-NEXT:    bcdcfn. v2, v2, 131; CHECK-NEXT:    blr32entry:33  %0 = call <16 x i8> @llvm.ppc.national2packed(<16 x i8> %a, i32 1)34  ret <16 x i8> %035}36 37declare <16 x i8> @llvm.ppc.packed2national(<16 x i8>)38 39define <16 x i8> @tBcd_Packed2national(<16 x i8> %a) {40; CHECK-LABEL: tBcd_Packed2national:41; CHECK:       # %bb.0: # %entry42; CHECK-NEXT:    bcdctn. v2, v243; CHECK-NEXT:    blr44entry:45  %0 = call <16 x i8> @llvm.ppc.packed2national(<16 x i8> %a)46  ret <16 x i8> %047}48 49declare <16 x i8> @llvm.ppc.packed2zoned(<16 x i8>, i32 immarg)50 51define <16 x i8> @tBcd_Packed2zoned_imm0(<16 x i8> %a) {52; CHECK-LABEL: tBcd_Packed2zoned_imm0:53; CHECK:       # %bb.0: # %entry54; CHECK-NEXT:    bcdctz. v2, v2, 055; CHECK-NEXT:    blr56entry:57  %0 = call <16 x i8> @llvm.ppc.packed2zoned(<16 x i8> %a, i32 0)58  ret <16 x i8> %059}60 61define <16 x i8> @tBcd_Packed2zoned_imm1(<16 x i8> %a) {62; CHECK-LABEL: tBcd_Packed2zoned_imm1:63; CHECK:       # %bb.0: # %entry64; CHECK-NEXT:    bcdctz. v2, v2, 165; CHECK-NEXT:    blr66entry:67  %0 = call <16 x i8> @llvm.ppc.packed2zoned(<16 x i8> %a, i32 1)68  ret <16 x i8> %069}70 71declare <16 x i8> @llvm.ppc.zoned2packed(<16 x i8>, i32 immarg)72 73define <16 x i8> @tBcd_Zoned2packed_imm0(<16 x i8> %a) {74; CHECK-LABEL: tBcd_Zoned2packed_imm0:75; CHECK:       # %bb.0: # %entry76; CHECK-NEXT:    bcdcfz. v2, v2, 077; CHECK-NEXT:    blr78entry:79  %0 = call <16 x i8> @llvm.ppc.zoned2packed(<16 x i8> %a, i32 0)80  ret <16 x i8> %081}82 83define <16 x i8> @tBcd_Zoned2packed_imm1(<16 x i8> %a) {84; CHECK-LABEL: tBcd_Zoned2packed_imm1:85; CHECK:       # %bb.0: # %entry86; CHECK-NEXT:    bcdcfz. v2, v2, 187; CHECK-NEXT:    blr88entry:89  %0 = call <16 x i8> @llvm.ppc.zoned2packed(<16 x i8> %a, i32 1)90  ret <16 x i8> %091}92