1*d5167c84SCraig Topper; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2*d5167c84SCraig Topper; RUN: llc < %s -mtriple=riscv64 | FileCheck %s 3*d5167c84SCraig Topper 4*d5167c84SCraig Topperdefine i8 @zext_nonneg_load_i16(ptr %x, ptr %y) { 5*d5167c84SCraig Topper; CHECK-LABEL: zext_nonneg_load_i16: 6*d5167c84SCraig Topper; CHECK: # %bb.0: 7*d5167c84SCraig Topper; CHECK-NEXT: lh a0, 0(a0) 8*d5167c84SCraig Topper; CHECK-NEXT: bltz a0, .LBB0_2 9*d5167c84SCraig Topper; CHECK-NEXT: # %bb.1: # %cont 10*d5167c84SCraig Topper; CHECK-NEXT: add a0, a1, a0 11*d5167c84SCraig Topper; CHECK-NEXT: lbu a0, 0(a0) 12*d5167c84SCraig Topper; CHECK-NEXT: ret 13*d5167c84SCraig Topper; CHECK-NEXT: .LBB0_2: # %exit 14*d5167c84SCraig Topper; CHECK-NEXT: li a0, 0 15*d5167c84SCraig Topper; CHECK-NEXT: ret 16*d5167c84SCraig Topper %a = load i16, ptr %x 17*d5167c84SCraig Topper %b = icmp slt i16 %a, 0 18*d5167c84SCraig Topper br i1 %b, label %exit, label %cont 19*d5167c84SCraig Topper 20*d5167c84SCraig Toppercont: 21*d5167c84SCraig Topper %c = zext nneg i16 %a to i64 22*d5167c84SCraig Topper %d = getelementptr i8, ptr %y, i64 %c 23*d5167c84SCraig Topper %e = load i8, ptr %d 24*d5167c84SCraig Topper ret i8 %e 25*d5167c84SCraig Topper 26*d5167c84SCraig Topperexit: 27*d5167c84SCraig Topper ret i8 0 28*d5167c84SCraig Topper} 29