35 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=riscv64 -global-isel -verify-machineinstrs < %s \3; RUN: | FileCheck %s --check-prefixes=RV644 5define i16 @constant_fold_barrier_i16(i16 %x, i16 %y) {6; RV64-LABEL: constant_fold_barrier_i16:7; RV64: # %bb.0: # %entry8; RV64-NEXT: li a1, 19; RV64-NEXT: slli a1, a1, 1110; RV64-NEXT: and a0, a0, a111; RV64-NEXT: addi a1, a1, 28912; RV64-NEXT: or a0, a0, a113; RV64-NEXT: ret14entry:15 %and = and i16 %x, 204816 %or = or i16 %and, 233717 ret i16 %or18}19 20define i128 @constant_fold_barrier_i128(i128 %x) {21; RV64-LABEL: constant_fold_barrier_i128:22; RV64: # %bb.0: # %entry23; RV64-NEXT: li a2, 124; RV64-NEXT: slli a2, a2, 1125; RV64-NEXT: and a0, a0, a226; RV64-NEXT: add a0, a0, a227; RV64-NEXT: sltu a2, a0, a228; RV64-NEXT: mv a1, a229; RV64-NEXT: ret30entry:31 %and = and i128 %x, 204832 %add = add i128 %and, 204833 ret i128 %add34}35