xref: /llvm-project/llvm/test/Transforms/InstCombine/pr58901.ll (revision 90ba33099cbb17e7c159e9ebc5a512037db99d6d)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt < %s -passes=instcombine -S | FileCheck %s
3
4define ptr @f1(ptr %arg, i64 %arg1) {
5; CHECK-LABEL: @f1(
6; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr i8, ptr [[ARG:%.*]], i64 72
7; CHECK-NEXT:    [[TMP2:%.*]] = getelementptr [6 x i32], ptr [[TMP1]], i64 0, i64 [[ARG1:%.*]]
8; CHECK-NEXT:    ret ptr [[TMP2]]
9;
10  %1 = getelementptr [6 x i32], ptr %arg, i64 3
11  %2 = getelementptr [6 x i32], ptr %1, i64 0, i64 %arg1
12  ret ptr %2
13}
14
15define ptr @f2(ptr %arg, i64 %arg1) {
16; CHECK-LABEL: @f2(
17; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr i8, ptr [[ARG:%.*]], i64 72
18; CHECK-NEXT:    [[TMP2:%.*]] = getelementptr [6 x i32], ptr [[TMP1]], i64 [[ARG1:%.*]], i64 [[ARG1]]
19; CHECK-NEXT:    ret ptr [[TMP2]]
20;
21  %1 = getelementptr [6 x i32], ptr %arg, i64 3
22  %2 = getelementptr [6 x i32], ptr %1, i64 %arg1, i64 %arg1
23  ret ptr %2
24}
25