# RUN: llc -mtriple=x86_64-linux-gnu -global-isel -run-pass=legalizer %s -o - | FileCheck %s --- | define void @test_gep_i8() { %arrayidx = getelementptr i32, i32* undef, i8 5 ret void } define void @test_gep_i16() { %arrayidx = getelementptr i32, i32* undef, i16 5 ret void } define void @test_gep_i32() { %arrayidx = getelementptr i32, i32* undef, i32 5 ret void } define void @test_gep_i64() { %arrayidx = getelementptr i32, i32* undef, i64 5 ret void } ... --- name: test_gep_i8 # CHECK-LABEL: name: test_gep_i8 legalized: false registers: - { id: 0, class: _ } - { id: 1, class: _ } - { id: 2, class: _ } # CHECK: %0(p0) = IMPLICIT_DEF # CHECK-NEXT: %1(s8) = G_CONSTANT i8 20 # CHECK-NEXT: %3(s32) = G_SEXT %1(s8) # CHECK-NEXT: %2(p0) = G_GEP %0, %3(s32) # CHECK-NEXT: RET 0 body: | bb.1 (%ir-block.0): %0(p0) = IMPLICIT_DEF %1(s8) = G_CONSTANT i8 20 %2(p0) = G_GEP %0, %1(s8) RET 0 ... --- name: test_gep_i16 # CHECK-LABEL: name: test_gep_i16 legalized: false registers: - { id: 0, class: _ } - { id: 1, class: _ } - { id: 2, class: _ } # CHECK: %0(p0) = IMPLICIT_DEF # CHECK-NEXT: %1(s16) = G_CONSTANT i16 20 # CHECK-NEXT: %3(s32) = G_SEXT %1(s16) # CHECK-NEXT: %2(p0) = G_GEP %0, %3(s32) # CHECK-NEXT: RET 0 body: | bb.1 (%ir-block.0): %0(p0) = IMPLICIT_DEF %1(s16) = G_CONSTANT i16 20 %2(p0) = G_GEP %0, %1(s16) RET 0 ... --- name: test_gep_i32 # CHECK-LABEL: name: test_gep_i32 legalized: false registers: - { id: 0, class: _ } - { id: 1, class: _ } - { id: 2, class: _ } # CHECK: %0(p0) = IMPLICIT_DEF # CHECK-NEXT: %1(s32) = G_CONSTANT i32 20 # CHECK-NEXT: %2(p0) = G_GEP %0, %1(s32) # CHECK-NEXT: RET 0 body: | bb.1 (%ir-block.0): %0(p0) = IMPLICIT_DEF %1(s32) = G_CONSTANT i32 20 %2(p0) = G_GEP %0, %1(s32) RET 0 ... --- name: test_gep_i64 # CHECK-LABEL: name: test_gep_i64 legalized: false registers: - { id: 0, class: _ } - { id: 1, class: _ } - { id: 2, class: _ } # CHECK: %0(p0) = IMPLICIT_DEF # CHECK-NEXT: %1(s64) = G_CONSTANT i64 20 # CHECK-NEXT: %2(p0) = G_GEP %0, %1(s64) # CHECK-NEXT: RET 0 body: | bb.1 (%ir-block.0): %0(p0) = IMPLICIT_DEF %1(s64) = G_CONSTANT i64 20 %2(p0) = G_GEP %0, %1(s64) RET 0 ...