; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc < %s -mtriple=i686-- | FileCheck %s --check-prefixes=X86
; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s --check-prefixes=X64

define i32 @PR165755(ptr %p0) {
; X86-LABEL: PR165755:
; X86:       # %bb.0:
; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; X86-NEXT:    movl (%ecx), %eax
; X86-NEXT:    movb $0, (%ecx)
; X86-NEXT:    retl
;
; X64-LABEL: PR165755:
; X64:       # %bb.0:
; X64-NEXT:    movl (%rdi), %eax
; X64-NEXT:    movb $0, (%rdi)
; X64-NEXT:    retq
  %ld64 = load i64, ptr %p0, align 8
  store i8 0, ptr %p0, align 1
  %ld32 = load i32, ptr %p0, align 8
  %mask = and i32 %ld32, 32
  %zext = zext i32 %mask to i64
  %srl = lshr i64 %ld64, %zext
  %res = trunc i64 %srl to i32
  ret i32 %res
}
