1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s
4 define i32 @shl16sar15(i32 %a) #0 {
5 ; CHECK-LABEL: shl16sar15:
7 ; CHECK-NEXT: movswl {{[0-9]+}}(%esp), %eax
8 ; CHECK-NEXT: addl %eax, %eax
11 %2 = ashr exact i32 %1, 15
15 define i32 @shl16sar17(i32 %a) #0 {
16 ; CHECK-LABEL: shl16sar17:
18 ; CHECK-NEXT: movswl {{[0-9]+}}(%esp), %eax
19 ; CHECK-NEXT: sarl %eax
22 %2 = ashr exact i32 %1, 17
26 define i32 @shl24sar23(i32 %a) #0 {
27 ; CHECK-LABEL: shl24sar23:
29 ; CHECK-NEXT: movsbl {{[0-9]+}}(%esp), %eax
30 ; CHECK-NEXT: addl %eax, %eax
33 %2 = ashr exact i32 %1, 23
37 define i32 @shl24sar25(i32 %a) #0 {
38 ; CHECK-LABEL: shl24sar25:
40 ; CHECK-NEXT: movsbl {{[0-9]+}}(%esp), %eax
41 ; CHECK-NEXT: sarl %eax
44 %2 = ashr exact i32 %1, 25