; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s
define i64 @off(i8 signext %a) {
; CHECK-LABEL: off:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: addb $-128, %dil
; CHECK-NEXT: movzbl %dil, %eax
; CHECK-NEXT: shll $3, %eax
; CHECK-NEXT: retq
entry:
%add = xor i8 %a, -128
%conv2 = zext i8 %add to i64
%mul = shl nuw nsw i64 %conv2, 3
ret i64 %mul
}