1; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s 2 3@data = global [8193 x i32] zeroinitializer 4 5define void @R(i32 *%p) nounwind { 6entry: 7 ; CHECK-LABEL: R: 8 9 call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 0)) 10 11 ; CHECK: lw $[[BASEPTR:[0-9]+]], %got(data)( 12 ; CHECK: #APP 13 ; CHECK: lw $1, 0($[[BASEPTR]]) 14 ; CHECK: #NO_APP 15 16 ret void 17} 18 19define void @R_offset_4(i32 *%p) nounwind { 20entry: 21 ; CHECK-LABEL: R_offset_4: 22 23 call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 1)) 24 25 ; CHECK: lw $[[BASEPTR:[0-9]+]], %got(data)( 26 ; CHECK: #APP 27 ; CHECK: lw $1, 4($[[BASEPTR]]) 28 ; CHECK: #NO_APP 29 30 ret void 31} 32 33define void @R_offset_254(i32 *%p) nounwind { 34entry: 35 ; CHECK-LABEL: R_offset_254: 36 37 call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 63)) 38 39 ; CHECK-DAG: lw $[[BASEPTR:[0-9]+]], %got(data)( 40 ; CHECK: #APP 41 ; CHECK: lw $1, 252($[[BASEPTR]]) 42 ; CHECK: #NO_APP 43 44 ret void 45} 46 47define void @R_offset_256(i32 *%p) nounwind { 48entry: 49 ; CHECK-LABEL: R_offset_256: 50 51 call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 64)) 52 53 ; CHECK-DAG: lw $[[BASEPTR:[0-9]+]], %got(data)( 54 ; CHECK: addiu $[[BASEPTR2:[0-9]+]], $[[BASEPTR]], 256 55 ; CHECK: #APP 56 ; CHECK: lw $1, 0($[[BASEPTR2]]) 57 ; CHECK: #NO_APP 58 59 ret void 60} 61