comparison test/CodeGen/Mips/inlineasm_constraint_R.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents
children 1172e4bd9c6f
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
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 }