blob: 2c018444e9c67d4f6267e2a9693cd2b4a9023ae2 [file] [log] [blame]
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc < %s -mtriple=riscv64 | FileCheck %s
define i64 @f(ptr %p) {
; CHECK-LABEL: f:
; CHECK: # %bb.0:
; CHECK-NEXT: lb a0, 0(a0)
; CHECK-NEXT: srai a0, a0, 63
; CHECK-NEXT: ret
%load = load i8, ptr %p, align 1
%conv1 = zext i8 %load to i32
%cmp = icmp ult i32 127, %conv1
%conv2 = zext i1 %cmp to i32
%sub = sub nsw i32 0, %conv2
%conv3 = sext i32 %sub to i64
ret i64 %conv3
}