1; RUN: llc -mtriple=arm-eabi %s -o - | FileCheck %s 2 3define i64 @f0(i64 %val, i64 %amt) minsize optsize { 4; CHECK-LABEL: f0: 5; CHECK: bl __aeabi_llsl 6 %res = shl i64 %val, %amt 7 ret i64 %res 8} 9 10define i32 @f1(i64 %x, i64 %y) minsize optsize { 11; CHECK-LABEL: f1: 12; CHECK: bl __aeabi_llsl 13 %a = shl i64 %x, %y 14 %b = trunc i64 %a to i32 15 ret i32 %b 16} 17 18define i32 @f2(i64 %x, i64 %y) minsize optsize { 19; CHECK-LABEL: f2: 20; CHECK: bl __aeabi_lasr 21 %a = ashr i64 %x, %y 22 %b = trunc i64 %a to i32 23 ret i32 %b 24} 25 26define i32 @f3(i64 %x, i64 %y) minsize optsize { 27; CHECK-LABEL: f3: 28; CHECK: bl __aeabi_llsr 29 %a = lshr i64 %x, %y 30 %b = trunc i64 %a to i32 31 ret i32 %b 32} 33