brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 6b47f0c Raw
87 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc < %s -mtriple=riscv64 -mattr=+m,+zba,+zbb,+zcb | FileCheck %s3 4define i64 @c_not(i64 %x, i64 %y, i64 %z) {5; CHECK-LABEL: c_not:6; CHECK:       # %bb.0:7; CHECK-NEXT:    not a1, a18; CHECK-NEXT:    li a0, 12349; CHECK-NEXT:    mul a0, a0, a110; CHECK-NEXT:    ret11  %a = xor i64 %y, -112  %b = mul i64 %a, 123413  ret i64 %b14}15 16define i64 @c_mul(i64 %x, i64 %y, i64 %z, i64 %w) {17; CHECK-LABEL: c_mul:18; CHECK:       # %bb.0:19; CHECK-NEXT:    mul a1, a1, a220; CHECK-NEXT:    lui a0, 121; CHECK-NEXT:    or a0, a0, a122; CHECK-NEXT:    ret23  %a = mul i64 %y, %z24  %b = or i64 %a, 409625  ret i64 %b26}27 28define i64 @c_sext_b(i64 %x, i8 %y, i64 %z) {29; CHECK-LABEL: c_sext_b:30; CHECK:       # %bb.0:31; CHECK-NEXT:    sext.b a1, a132; CHECK-NEXT:    lui a0, 133; CHECK-NEXT:    or a0, a0, a134; CHECK-NEXT:    ret35  %a = sext i8 %y to i6436  %b = or i64 %a, 409637  ret i64 %b38}39 40define i64 @c_sext_h(i64 %x, i16 %y, i64 %z) {41; CHECK-LABEL: c_sext_h:42; CHECK:       # %bb.0:43; CHECK-NEXT:    sext.h a1, a144; CHECK-NEXT:    lui a0, 145; CHECK-NEXT:    or a0, a0, a146; CHECK-NEXT:    ret47  %a = sext i16 %y to i6448  %b = or i64 %a, 409649  ret i64 %b50}51 52define i64 @c_zext_b(i64 %x, i8 %y, i64 %z) {53; CHECK-LABEL: c_zext_b:54; CHECK:       # %bb.0:55; CHECK-NEXT:    zext.b a1, a156; CHECK-NEXT:    lui a0, 157; CHECK-NEXT:    or a0, a0, a158; CHECK-NEXT:    ret59  %a = zext i8 %y to i6460  %b = or i64 %a, 409661  ret i64 %b62}63 64define i64 @c_zext_h(i64 %x, i16 %y) {65; CHECK-LABEL: c_zext_h:66; CHECK:       # %bb.0:67; CHECK-NEXT:    zext.h a1, a168; CHECK-NEXT:    lui a0, 409669; CHECK-NEXT:    or a0, a0, a170; CHECK-NEXT:    ret71  %a = zext i16 %y to i6472  %b = or i64 %a, 1677721673  ret i64 %b74}75 76define i64 @c_zext_w(i64 %x, i32 %y) {77; CHECK-LABEL: c_zext_w:78; CHECK:       # %bb.0:79; CHECK-NEXT:    zext.w a1, a180; CHECK-NEXT:    li a0, 123481; CHECK-NEXT:    mul a0, a0, a182; CHECK-NEXT:    ret83  %a = zext i32 %y to i6484  %b = mul i64 %a, 123485  ret i64 %b86}87