; RUN: llc < %s -O0 -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios -verify-machineinstrs | FileCheck %s --check-prefix=THUMB

define i32 @t1(i32* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t1
  %add.ptr = getelementptr inbounds i32, i32* %ptr, i32 -1
  %0 = load i32, i32* %add.ptr, align 4
; THUMB: ldr r{{[0-9]}}, [r0, #-4]
  ret i32 %0
}

define i32 @t2(i32* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t2
  %add.ptr = getelementptr inbounds i32, i32* %ptr, i32 -63
  %0 = load i32, i32* %add.ptr, align 4
; THUMB: ldr r{{[0-9]}}, [r0, #-252]
  ret i32 %0
}

define i32 @t3(i32* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t3
  %add.ptr = getelementptr inbounds i32, i32* %ptr, i32 -64
  %0 = load i32, i32* %add.ptr, align 4
; THUMB: ldr r{{[0-9]}}, [r0]
  ret i32 %0
}

define zeroext i16 @t4(i16* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t4
  %add.ptr = getelementptr inbounds i16, i16* %ptr, i32 -1
  %0 = load i16, i16* %add.ptr, align 2
; THUMB: ldrh r{{[0-9]}}, [r0, #-2]
  ret i16 %0
}

define zeroext i16 @t5(i16* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t5
  %add.ptr = getelementptr inbounds i16, i16* %ptr, i32 -127
  %0 = load i16, i16* %add.ptr, align 2
; THUMB: ldrh r{{[0-9]}}, [r0, #-254]
  ret i16 %0
}

define zeroext i16 @t6(i16* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t6
  %add.ptr = getelementptr inbounds i16, i16* %ptr, i32 -128
  %0 = load i16, i16* %add.ptr, align 2
; THUMB: ldrh r{{[0-9]}}, [r0]
  ret i16 %0
}

define zeroext i8 @t7(i8* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t7
  %add.ptr = getelementptr inbounds i8, i8* %ptr, i32 -1
  %0 = load i8, i8* %add.ptr, align 1
; THUMB: ldrb r{{[0-9]}}, [r0, #-1]
  ret i8 %0
}

define zeroext i8 @t8(i8* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t8
  %add.ptr = getelementptr inbounds i8, i8* %ptr, i32 -255
  %0 = load i8, i8* %add.ptr, align 1
; THUMB: ldrb r{{[0-9]}}, [r0, #-255]
  ret i8 %0
}

define zeroext i8 @t9(i8* nocapture %ptr) nounwind readonly {
entry:
; THUMB: t9
  %add.ptr = getelementptr inbounds i8, i8* %ptr, i32 -256
  %0 = load i8, i8* %add.ptr, align 1
; THUMB: ldrb r{{[0-9]}}, [r0]
  ret i8 %0
}

define void @t10(i32* nocapture %ptr) nounwind {
entry:
; THUMB: t10
  %add.ptr = getelementptr inbounds i32, i32* %ptr, i32 -1
  store i32 0, i32* %add.ptr, align 4
; THUMB: str r{{[0-9]}}, [r0, #-4]
  ret void
}

define void @t11(i32* nocapture %ptr) nounwind {
entry:
; THUMB: t11
  %add.ptr = getelementptr inbounds i32, i32* %ptr, i32 -63
  store i32 0, i32* %add.ptr, align 4
; THUMB: str r{{[0-9]}}, [r0, #-252]
  ret void
}

define void @t12(i32* nocapture %ptr) nounwind {
entry:
; THUMB: t12
  %add.ptr = getelementptr inbounds i32, i32* %ptr, i32 -64
  store i32 0, i32* %add.ptr, align 4
; THUMB: str r{{[0-9]}}, [r0]
  ret void
}

define void @t13(i16* nocapture %ptr) nounwind {
entry:
; THUMB: t13
  %add.ptr = getelementptr inbounds i16, i16* %ptr, i32 -1
  store i16 0, i16* %add.ptr, align 2
; THUMB: strh r{{[0-9]}}, [r0, #-2]
  ret void
}

define void @t14(i16* nocapture %ptr) nounwind {
entry:
; THUMB: t14
  %add.ptr = getelementptr inbounds i16, i16* %ptr, i32 -127
  store i16 0, i16* %add.ptr, align 2
; THUMB: strh r{{[0-9]}}, [r0, #-254]
  ret void
}

define void @t15(i16* nocapture %ptr) nounwind {
entry:
; THUMB: t15
  %add.ptr = getelementptr inbounds i16, i16* %ptr, i32 -128
  store i16 0, i16* %add.ptr, align 2
; THUMB: strh r{{[0-9]}}, [r0]
  ret void
}

define void @t16(i8* nocapture %ptr) nounwind {
entry:
; THUMB: t16
  %add.ptr = getelementptr inbounds i8, i8* %ptr, i32 -1
  store i8 0, i8* %add.ptr, align 1
; THUMB: strb r{{[0-9]}}, [r0, #-1]
  ret void
}

define void @t17(i8* nocapture %ptr) nounwind {
entry:
; THUMB: t17
  %add.ptr = getelementptr inbounds i8, i8* %ptr, i32 -255
  store i8 0, i8* %add.ptr, align 1
; THUMB: strb r{{[0-9]}}, [r0, #-255]
  ret void
}

define void @t18(i8* nocapture %ptr) nounwind {
entry:
; THUMB: t18
  %add.ptr = getelementptr inbounds i8, i8* %ptr, i32 -256
  store i8 0, i8* %add.ptr, align 1
; THUMB: strb r{{[0-9]}}, [r0]
  ret void
}
