xref: /llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-volatile-load-pr36018.ll (revision 46584de02c1a38a0ccde85cb5c16331380966c36)
1; RUN: llc -O0 -mtriple=aarch64-apple-ios -o - %s | FileCheck %s
2
3@g = global i16 0, align 2
4declare void @bar(i32)
5
6; Check that only one load is generated for an extending volatile load.
7define hidden void @foo() {
8; CHECK-NOT: ldrh
9; CHECK: ldrsh
10  %1 = load volatile i16, ptr @g, align 2
11  %2 = sext i16 %1 to i32
12  call void @bar(i32 %2)
13  ret void
14}
15