1 ; RUN: llc -march=mipsel < %s | FileCheck %s 2 3 @data = global [8193 x i32] zeroinitializer 4 5 define void @R(i32 *%p) nounwind { 6 entry: 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 19 define void @R_offset_4(i32 *%p) nounwind { 20 entry: 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 33 define void @R_offset_254(i32 *%p) nounwind { 34 entry: 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 47 define void @R_offset_256(i32 *%p) nounwind { 48 entry: 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