brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 75559c9 Raw
50 lines · plain
1; RUN: llc -mtriple=lanai < %s | FileCheck %s2; RUN: llc -mtriple=lanai < %s -code-model=small  | FileCheck -check-prefix CHECK-SMALL %s3; RUN: not llc -mtriple=lanai < %s -code-model=tiny 2>&1 | FileCheck -check-prefix CHECK-TINY %s4; RUN: not llc -mtriple=lanai < %s -code-model=kernel 2>&1 | FileCheck -check-prefix CHECK-KERNEL %s5 6; CHECK-TINY: Target does not support the tiny CodeModel7; CHECK-KERNEL: Target does not support the kernel CodeModel8 9@data = external global [0 x i32]		; <[0 x i32]*> [#uses=5]10 11define i32 @foo() nounwind readonly {12entry:13; CHECK-SMALL-LABEL:  foo:14; CHECK-SMALL: ld [data], %rv15; CHECK-LABEL:  foo:16; CHECK: mov hi(data), %r[[REGISTER:[0-9]+]]17; CHECK: or %r[[REGISTER]], lo(data), %r[[REGISTER]]18; CHECK: ld 0[%r[[REGISTER]]], %rv19	%0 = load i32, ptr @data, align 4		; <i32> [#uses=1]20	ret i32 %021}22 23define i32 @foo1() nounwind readonly {24entry:25; CHECK-SMALL-LABEL:  foo1:26; CHECK-SMALL: mov data, %r[[REGISTER:[0-9]+]]27; CHECK-SMALL: ld 40[%r[[REGISTER]]], %rv28; CHECK-LABEL:  foo1:29; CHECK: mov hi(data), %r[[REGISTER:[0-9]+]]30; CHECK: or %r[[REGISTER]], lo(data), %r[[REGISTER]]31; CHECK: ld 40[%r[[REGISTER]]], %rv32	%0 = load i32, ptr getelementptr ([0 x i32], ptr @data, i32 0, i64 10), align 4		; <i32> [#uses=1]33	ret i32 %034}35 36@y = local_unnamed_addr global ptr null, section ".ldata,block", align 837 38define i32 @foo2() nounwind readonly {39entry:40; CHECK-SMALL-LABEL:  foo2:41; CHECK-SMALL: mov hi(y), %r[[REGISTER:[0-9]+]]42; CHECK-SMALL: or %r[[REGISTER]], lo(y), %r[[REGISTER]]43; CHECK-LABEL:  foo2:44; CHECK: mov hi(y), %r[[REGISTER:[0-9]+]]45; CHECK: or %r[[REGISTER]], lo(y), %r[[REGISTER]]46  %0 = load ptr, ptr @y, align 847  %1 = load i32, ptr %0, align 448  ret i32 %149}50