brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 244ed2e Raw
157 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=powerpc64le-- -mcpu=pwr8 -verify-machineinstrs | FileCheck %s3; RUN: llc < %s -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr8 -verify-machineinstrs | FileCheck %s4 5define i32 @sub_zext_cmp_mask_same_size_result(i32 %x) {6; CHECK-LABEL: sub_zext_cmp_mask_same_size_result:7; CHECK:       # %bb.0:8; CHECK-NEXT:    clrldi 3, 3, 639; CHECK-NEXT:    ori 3, 3, 6550810; CHECK-NEXT:    oris 3, 3, 6553511; CHECK-NEXT:    blr12  %a = and i32 %x, 113  %c = icmp eq i32 %a, 014  %z = zext i1 %c to i3215  %r = sub i32 -27, %z16  ret i32 %r17}18 19define i32 @sub_zext_cmp_mask_wider_result(i8 %x) {20; CHECK-LABEL: sub_zext_cmp_mask_wider_result:21; CHECK:       # %bb.0:22; CHECK-NEXT:    clrldi 3, 3, 6323; CHECK-NEXT:    ori 3, 3, 2624; CHECK-NEXT:    blr25  %a = and i8 %x, 126  %c = icmp eq i8 %a, 027  %z = zext i1 %c to i3228  %r = sub i32 27, %z29  ret i32 %r30}31 32define i8 @sub_zext_cmp_mask_narrower_result(i32 %x) {33; CHECK-LABEL: sub_zext_cmp_mask_narrower_result:34; CHECK:       # %bb.0:35; CHECK-NEXT:    clrldi 3, 3, 6336; CHECK-NEXT:    ori 3, 3, 4637; CHECK-NEXT:    blr38  %a = and i32 %x, 139  %c = icmp eq i32 %a, 040  %z = zext i1 %c to i841  %r = sub i8 47, %z42  ret i8 %r43}44 45define i8 @add_zext_cmp_mask_same_size_result(i8 %x) {46; CHECK-LABEL: add_zext_cmp_mask_same_size_result:47; CHECK:       # %bb.0:48; CHECK-NEXT:    clrldi 3, 3, 6349; CHECK-NEXT:    xori 3, 3, 2750; CHECK-NEXT:    blr51  %a = and i8 %x, 152  %c = icmp eq i8 %a, 053  %z = zext i1 %c to i854  %r = add i8 %z, 2655  ret i8 %r56}57 58define i32 @add_zext_cmp_mask_wider_result(i8 %x) {59; CHECK-LABEL: add_zext_cmp_mask_wider_result:60; CHECK:       # %bb.0:61; CHECK-NEXT:    clrldi 3, 3, 6362; CHECK-NEXT:    xori 3, 3, 2763; CHECK-NEXT:    blr64  %a = and i8 %x, 165  %c = icmp eq i8 %a, 066  %z = zext i1 %c to i3267  %r = add i32 %z, 2668  ret i32 %r69}70 71define i8 @add_zext_cmp_mask_narrower_result(i32 %x) {72; CHECK-LABEL: add_zext_cmp_mask_narrower_result:73; CHECK:       # %bb.0:74; CHECK-NEXT:    clrldi 3, 3, 6375; CHECK-NEXT:    xori 3, 3, 4376; CHECK-NEXT:    blr77  %a = and i32 %x, 178  %c = icmp eq i32 %a, 079  %z = zext i1 %c to i880  %r = add i8 %z, 4281  ret i8 %r82}83 84define i32 @low_bit_select_constants_bigger_false_same_size_result(i32 %x) {85; CHECK-LABEL: low_bit_select_constants_bigger_false_same_size_result:86; CHECK:       # %bb.0:87; CHECK-NEXT:    clrldi 3, 3, 6388; CHECK-NEXT:    ori 3, 3, 4289; CHECK-NEXT:    blr90  %a = and i32 %x, 191  %c = icmp eq i32 %a, 092  %r = select i1 %c, i32 42, i32 4393  ret i32 %r94}95 96define i64 @low_bit_select_constants_bigger_false_wider_result(i32 %x) {97; CHECK-LABEL: low_bit_select_constants_bigger_false_wider_result:98; CHECK:       # %bb.0:99; CHECK-NEXT:    clrldi 3, 3, 63100; CHECK-NEXT:    ori 3, 3, 26101; CHECK-NEXT:    blr102  %a = and i32 %x, 1103  %c = icmp eq i32 %a, 0104  %r = select i1 %c, i64 26, i64 27105  ret i64 %r106}107 108define i16 @low_bit_select_constants_bigger_false_narrower_result(i32 %x) {109; CHECK-LABEL: low_bit_select_constants_bigger_false_narrower_result:110; CHECK:       # %bb.0:111; CHECK-NEXT:    clrldi 3, 3, 63112; CHECK-NEXT:    ori 3, 3, 36113; CHECK-NEXT:    blr114  %a = and i32 %x, 1115  %c = icmp eq i32 %a, 0116  %r = select i1 %c, i16 36, i16 37117  ret i16 %r118}119 120define i8 @low_bit_select_constants_bigger_true_same_size_result(i8 %x) {121; CHECK-LABEL: low_bit_select_constants_bigger_true_same_size_result:122; CHECK:       # %bb.0:123; CHECK-NEXT:    clrldi 3, 3, 63124; CHECK-NEXT:    li 4, -29125; CHECK-NEXT:    xor 3, 3, 4126; CHECK-NEXT:    blr127  %a = and i8 %x, 1128  %c = icmp eq i8 %a, 0129  %r = select i1 %c, i8 227, i8 226130  ret i8 %r131}132 133define i32 @low_bit_select_constants_bigger_true_wider_result(i8 %x) {134; CHECK-LABEL: low_bit_select_constants_bigger_true_wider_result:135; CHECK:       # %bb.0:136; CHECK-NEXT:    clrldi 3, 3, 63137; CHECK-NEXT:    xori 3, 3, 227138; CHECK-NEXT:    blr139  %a = and i8 %x, 1140  %c = icmp eq i8 %a, 0141  %r = select i1 %c, i32 227, i32 226142  ret i32 %r143}144 145define i8 @low_bit_select_constants_bigger_true_narrower_result(i16 %x) {146; CHECK-LABEL: low_bit_select_constants_bigger_true_narrower_result:147; CHECK:       # %bb.0:148; CHECK-NEXT:    clrldi 3, 3, 63149; CHECK-NEXT:    xori 3, 3, 41150; CHECK-NEXT:    blr151  %a = and i16 %x, 1152  %c = icmp eq i16 %a, 0153  %r = select i1 %c, i8 41, i8 40154  ret i8 %r155}156 157