[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / ptr-rotate.ll
blobc2365c607d069ff1044b635de4f44f1fdf033a8f
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=i386-apple-darwin -mcpu=corei7 -o - < %s | FileCheck %s
4 define i32 @func(i8* %A) nounwind readnone {
5 ; CHECK-LABEL: func:
6 ; CHECK:       ## %bb.0: ## %entry
7 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
8 ; CHECK-NEXT:    roll $27, %eax
9 ; CHECK-NEXT:    retl
10 entry:
11   %tmp = ptrtoint i8* %A to i32
12   %shr = lshr i32 %tmp, 5
13   %shl = shl i32 %tmp, 27
14   %or = or i32 %shr, %shl
15   ret i32 %or