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
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
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
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