brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 96908b7 Raw
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