41 lines · plain
1; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s2 3@var32 = global i32 04 5define void @test_zextloadi1_unscaled(ptr %base) {6; CHECK-LABEL: test_zextloadi1_unscaled:7; CHECK: ldurb {{w[0-9]+}}, [{{x[0-9]+}}, #-7]8 9 %addr = getelementptr i1, ptr %base, i32 -710 %val = load i1, ptr %addr, align 111 12 %extended = zext i1 %val to i3213 store i32 %extended, ptr @var32, align 414 ret void15}16 17define void @test_zextloadi8_unscaled(ptr %base) {18; CHECK-LABEL: test_zextloadi8_unscaled:19; CHECK: ldurb {{w[0-9]+}}, [{{x[0-9]+}}, #-7]20 21 %addr = getelementptr i8, ptr %base, i32 -722 %val = load i8, ptr %addr, align 123 24 %extended = zext i8 %val to i3225 store i32 %extended, ptr @var32, align 426 ret void27}28 29define void @test_zextloadi16_unscaled(ptr %base) {30; CHECK-LABEL: test_zextloadi16_unscaled:31; CHECK: ldurh {{w[0-9]+}}, [{{x[0-9]+}}, #-14]32 33 %addr = getelementptr i16, ptr %base, i32 -734 %val = load i16, ptr %addr, align 235 36 %extended = zext i16 %val to i3237 store i32 %extended, ptr @var32, align 438 ret void39}40 41