[MIPS GlobalISel] Select MSA vector generic and builtin add
[llvm-core.git] / test / CodeGen / Mips / inlineasm-constraint-m-1.ll
blob11ef8341cbdb5f7d7959b649e6db8823d9bee77b
1 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
3 @data = global [8193 x i32] zeroinitializer
5 define void @m(i32 *%p) nounwind {
6 entry:
7   ; CHECK-LABEL: m:
9   call void asm sideeffect "lw $$1, $0", "*m,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 0))
11   ; CHECK: lw $[[BASEPTR:[0-9]+]], %got(data)(
12   ; CHECK: #APP
13   ; CHECK: lw $1, 0($[[BASEPTR]])
14   ; CHECK: #NO_APP
16   ret void
19 define void @m_offset_4(i32 *%p) nounwind {
20 entry:
21   ; CHECK-LABEL: m_offset_4:
23   call void asm sideeffect "lw $$1, $0", "*m,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 1))
25   ; CHECK: lw $[[BASEPTR:[0-9]+]], %got(data)(
26   ; CHECK: #APP
27   ; CHECK: lw $1, 4($[[BASEPTR]])
28   ; CHECK: #NO_APP
30   ret void
33 define void @m_offset_32764(i32 *%p) nounwind {
34 entry:
35   ; CHECK-LABEL: m_offset_32764:
37   call void asm sideeffect "lw $$1, $0", "*m,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 8191))
39   ; CHECK-DAG: lw $[[BASEPTR:[0-9]+]], %got(data)(
40   ; CHECK: #APP
41   ; CHECK: lw $1, 32764($[[BASEPTR]])
42   ; CHECK: #NO_APP
44   ret void
47 define void @m_offset_32768(i32 *%p) nounwind {
48 entry:
49   ; CHECK-LABEL: m_offset_32768:
51   call void asm sideeffect "lw $$1, $0", "*m,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 8192))
53   ; CHECK-DAG: lw $[[BASEPTR:[0-9]+]], %got(data)(
54   ; CHECK-DAG: ori $[[T0:[0-9]+]], $zero, 32768
55   ; CHECK: addu $[[BASEPTR2:[0-9]+]], $[[BASEPTR]], $[[T0]]
56   ; CHECK: #APP
57   ; CHECK: lw $1, 0($[[BASEPTR2]])
58   ; CHECK: #NO_APP
60   ret void