Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-darwin | FileCheck %s --check-prefix=ARM
      2 
      3 define i32 @t1(i32* nocapture %ptr) nounwind readonly {
      4 entry:
      5 ; ARM: t1
      6   %add.ptr = getelementptr inbounds i32* %ptr, i32 1
      7   %0 = load i32* %add.ptr, align 4
      8 ; ARM: ldr r{{[0-9]}}, [r0, #4]
      9   ret i32 %0
     10 }
     11 
     12 define i32 @t2(i32* nocapture %ptr) nounwind readonly {
     13 entry:
     14 ; ARM: t2
     15   %add.ptr = getelementptr inbounds i32* %ptr, i32 63
     16   %0 = load i32* %add.ptr, align 4
     17 ; ARM: ldr.w r{{[0-9]}}, [r0, #252]
     18   ret i32 %0
     19 }
     20 
     21 define zeroext i16 @t3(i16* nocapture %ptr) nounwind readonly {
     22 entry:
     23 ; ARM: t3
     24   %add.ptr = getelementptr inbounds i16* %ptr, i16 1
     25   %0 = load i16* %add.ptr, align 4
     26 ; ARM: ldrh r{{[0-9]}}, [r0, #2]
     27   ret i16 %0
     28 }
     29 
     30 define zeroext i16 @t4(i16* nocapture %ptr) nounwind readonly {
     31 entry:
     32 ; ARM: t4
     33   %add.ptr = getelementptr inbounds i16* %ptr, i16 63
     34   %0 = load i16* %add.ptr, align 4
     35 ; ARM: ldrh.w r{{[0-9]}}, [r0, #126]
     36   ret i16 %0
     37 }
     38 
     39 define zeroext i8 @t5(i8* nocapture %ptr) nounwind readonly {
     40 entry:
     41 ; ARM: t5
     42   %add.ptr = getelementptr inbounds i8* %ptr, i8 1
     43   %0 = load i8* %add.ptr, align 4
     44 ; ARM: ldrb r{{[0-9]}}, [r0, #1]
     45   ret i8 %0
     46 }
     47 
     48 define zeroext i8 @t6(i8* nocapture %ptr) nounwind readonly {
     49 entry:
     50 ; ARM: t6
     51   %add.ptr = getelementptr inbounds i8* %ptr, i8 63
     52   %0 = load i8* %add.ptr, align 4
     53 ; ARM: ldrb.w r{{[0-9]}}, [r0, #63]
     54   ret i8 %0
     55 }
     56