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 3 4@VBRTag = external dso_local global [2147483647 x i8] 5 6define 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 16entry: 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 21} 22 23define 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 35entry: 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 40} 41