llvm.org GIT mirror llvm / master test / CodeGen / X86 / ptr-rotate.ll
master

Tree @master (Download .tar.gz)

ptr-rotate.ll @masterraw · history · blame

; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=i386-apple-darwin -mcpu=corei7 -o - < %s | FileCheck %s

define i32 @func(i8* %A) nounwind readnone {
; CHECK-LABEL: func:
; CHECK:       ## %bb.0: ## %entry
; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
; CHECK-NEXT:    roll $27, %eax
; CHECK-NEXT:    retl
entry:
  %tmp = ptrtoint i8* %A to i32
  %shr = lshr i32 %tmp, 5
  %shl = shl i32 %tmp, 27
  %or = or i32 %shr, %shl
  ret i32 %or
}