; 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 | |
} |