[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / ARM / shift_minsize.ll
blobde7327ed3fcb6f0a29088c03d4a4bdf46d7282b4
1 ; RUN: llc -mtriple=arm-eabi        %s -o - | FileCheck %s
2 ; RUN: llc -mtriple=thumbv7-windows %s -o - | FileCheck %s -check-prefix=CHECK-WIN
4 ; The Windows runtime doesn't have these.
5 ; CHECK-WIN-NOT: __ashldi3
6 ; CHECK-WIN-NOT: __ashrdi3
7 ; CHECK-WIN-NOT: __lshrdi3
9 define i64 @f0(i64 %val, i64 %amt) minsize optsize {
10 ; CHECK-LABEL:   f0:
11 ; CHECK:         bl  __aeabi_llsl
12   %res = shl i64 %val, %amt
13   ret i64 %res
16 define i32 @f1(i64 %x, i64 %y) minsize optsize {
17 ; CHECK-LABEL:   f1:
18 ; CHECK:         bl  __aeabi_llsl
19         %a = shl i64 %x, %y
20         %b = trunc i64 %a to i32
21         ret i32 %b
24 define i32 @f2(i64 %x, i64 %y) minsize optsize {
25 ; CHECK-LABEL:   f2:
26 ; CHECK:         bl  __aeabi_lasr
27         %a = ashr i64 %x, %y
28         %b = trunc i64 %a to i32
29         ret i32 %b
32 define i32 @f3(i64 %x, i64 %y) minsize optsize {
33 ; CHECK-LABEL:   f3:
34 ; CHECK:         bl  __aeabi_llsr
35         %a = lshr i64 %x, %y
36         %b = trunc i64 %a to i32
37         ret i32 %b