brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 2036e7c Raw
61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mtriple=riscv64 < %s  | FileCheck  %s3 4define i64 @fold_binop_into_select_0(i1 %c, i64 %x) {5; CHECK-LABEL: fold_binop_into_select_0:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    addi a1, a1, -28; CHECK-NEXT:    slli a0, a0, 639; CHECK-NEXT:    srai a0, a0, 6310; CHECK-NEXT:    and a0, a0, a111; CHECK-NEXT:    ret12entry:13  %select_ = select i1 %c, i64 %x, i64 214  %res = sub i64 %select_, 215  ret i64 %res16}17 18define i64 @fold_binop_into_select_1(i1 %c, i64 %x) {19; CHECK-LABEL: fold_binop_into_select_1:20; CHECK:       # %bb.0: # %entry21; CHECK-NEXT:    andi a0, a0, 122; CHECK-NEXT:    addi a1, a1, -223; CHECK-NEXT:    addi a0, a0, -124; CHECK-NEXT:    and a0, a0, a125; CHECK-NEXT:    ret26entry:27  %select_ = select i1 %c, i64 2, i64 %x28  %res = sub i64 %select_, 229  ret i64 %res30}31 32define i64 @fold_binop_into_select_2(i1 %c, i64 %x) {33; CHECK-LABEL: fold_binop_into_select_2:34; CHECK:       # %bb.0: # %entry35; CHECK-NEXT:    li a2, 236; CHECK-NEXT:    slli a0, a0, 6337; CHECK-NEXT:    sub a2, a2, a138; CHECK-NEXT:    srai a0, a0, 6339; CHECK-NEXT:    and a0, a0, a240; CHECK-NEXT:    ret41entry:42  %select_ = select i1 %c, i64 %x, i64 243  %res = sub i64 2, %select_44  ret i64 %res45}46 47define i64 @fold_binop_into_select_3(i1 %c, i64 %x) {48; CHECK-LABEL: fold_binop_into_select_3:49; CHECK:       # %bb.0: # %entry50; CHECK-NEXT:    andi a0, a0, 151; CHECK-NEXT:    li a2, 252; CHECK-NEXT:    sub a2, a2, a153; CHECK-NEXT:    addi a0, a0, -154; CHECK-NEXT:    and a0, a0, a255; CHECK-NEXT:    ret56entry:57  %select_ = select i1 %c, i64 2, i64 %x58  %res = sub i64 2, %select_59  ret i64 %res60}61