xref: /llvm-project/llvm/test/Transforms/SeparateConstOffsetFromGEP/pointer-type-not-offset-type.ll (revision 916425b2d1644cad3dc96c52d27a78f523472bb7)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt < %s -passes=separate-const-offset-from-gep -S | FileCheck %s
3target datalayout = "p0:64:64:64-p1:128:128:128:32"
4
5define void @should_be_trunc(ptr addrspace(1) %ptr,  i64 %index, ptr %result) {
6; CHECK-LABEL: @should_be_trunc(
7; CHECK-NEXT:    [[IDXPROM:%.*]] = trunc i64 [[INDEX:%.*]] to i32
8; CHECK-NEXT:    [[GEP:%.*]] = getelementptr ptr addrspace(1), ptr addrspace(1) [[PTR:%.*]], i32 [[IDXPROM]]
9; CHECK-NEXT:    store ptr addrspace(1) [[GEP]], ptr [[RESULT:%.*]], align 16
10; CHECK-NEXT:    ret void
11;
12  %gep = getelementptr ptr addrspace(1), ptr addrspace(1) %ptr, i64 %index
13  store ptr addrspace(1) %gep, ptr %result
14  ret void
15}
16