1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=i386-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefixes=CHECK 3 4--- | 5 define void @test_gep_i32c(ptr %addr) { 6 %arrayidx = getelementptr i32, ptr undef, i32 5 7 ret void 8 } 9 define void @test_gep_i32(ptr %addr, i32 %ofs) { 10 %arrayidx = getelementptr i32, ptr undef, i32 %ofs 11 ret void 12 } 13... 14--- 15name: test_gep_i32c 16legalized: false 17registers: 18 - { id: 0, class: _ } 19 - { id: 1, class: _ } 20 - { id: 2, class: _ } 21body: | 22 bb.1 (%ir-block.0): 23 ; CHECK-LABEL: name: test_gep_i32c 24 ; CHECK: [[DEF:%[0-9]+]]:_(p0) = IMPLICIT_DEF 25 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 20 26 ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[C]](s32) 27 ; CHECK-NEXT: G_STORE [[PTR_ADD]](p0), [[DEF]](p0) :: (store (p0) into %ir.addr) 28 ; CHECK-NEXT: RET 0 29 %0(p0) = IMPLICIT_DEF 30 %1(s32) = G_CONSTANT i32 20 31 %2(p0) = G_PTR_ADD %0, %1(s32) 32 G_STORE %2, %0 :: (store (p0) into %ir.addr) 33 RET 0 34... 35--- 36name: test_gep_i32 37legalized: false 38registers: 39 - { id: 0, class: _ } 40 - { id: 1, class: _ } 41 - { id: 2, class: _ } 42body: | 43 bb.1 (%ir-block.0): 44 ; CHECK-LABEL: name: test_gep_i32 45 ; CHECK: [[DEF:%[0-9]+]]:_(p0) = IMPLICIT_DEF 46 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(s32) = IMPLICIT_DEF 47 ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[DEF1]](s32) 48 ; CHECK-NEXT: G_STORE [[PTR_ADD]](p0), [[DEF]](p0) :: (store (p0) into %ir.addr) 49 ; CHECK-NEXT: RET 0 50 %0(p0) = IMPLICIT_DEF 51 %1(s32) = IMPLICIT_DEF 52 %2(p0) = G_PTR_ADD %0, %1(s32) 53 G_STORE %2, %0 :: (store (p0) into %ir.addr) 54 RET 0 55... 56