Android defaults to pic (#123955)
[llvm-project.git] / llvm / test / CodeGen / M68k / global-address.ll
blob8af37f9f733f556da66e353cb52910f01cbd299c
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2 ; RUN: llc -mtriple=m68k < %s | FileCheck %s
4 @VBRTag = external dso_local global [2147483647 x i8]
6 define i1 @folded_offset(i32 %conv29) {
7 ; CHECK-LABEL: folded_offset:
8 ; CHECK:         .cfi_startproc
9 ; CHECK-NEXT:  ; %bb.0: ; %entry
10 ; CHECK-NEXT:    move.b (VBRTag+1,%pc), %d0
11 ; CHECK-NEXT:    ext.w %d0
12 ; CHECK-NEXT:    ext.l %d0
13 ; CHECK-NEXT:    sub.l (4,%sp), %d0
14 ; CHECK-NEXT:    seq %d0
15 ; CHECK-NEXT:    rts
16 entry:
17   %0 = load i8, ptr getelementptr inbounds ([2147483647 x i8], ptr @VBRTag, i32 0, i32 1), align 1
18   %conv30 = sext i8 %0 to i32
19   %cmp31.not = icmp eq i32 %conv30, %conv29
20   ret i1 %cmp31.not
23 define i1 @non_folded_offset(i32 %conv29) {
24 ; CHECK-LABEL: non_folded_offset:
25 ; CHECK:         .cfi_startproc
26 ; CHECK-NEXT:  ; %bb.0: ; %entry
27 ; CHECK-NEXT:    move.l #2147483645, %d0
28 ; CHECK-NEXT:    lea (VBRTag,%pc), %a0
29 ; CHECK-NEXT:    move.b (0,%a0,%d0), %d0
30 ; CHECK-NEXT:    ext.w %d0
31 ; CHECK-NEXT:    ext.l %d0
32 ; CHECK-NEXT:    sub.l (4,%sp), %d0
33 ; CHECK-NEXT:    seq %d0
34 ; CHECK-NEXT:    rts
35 entry:
36   %0 = load i8, ptr getelementptr inbounds ([2147483647 x i8], ptr @VBRTag, i32 0, i32 2147483645), align 1
37   %conv30 = sext i8 %0 to i32
38   %cmp31.not = icmp eq i32 %conv30, %conv29
39   ret i1 %cmp31.not