#skip amdgcn-amdhsa-none-baseline-whole-llvm-debug-lld

#skip csky-freestanding-eabi-baseline-whole-llvm-debug-lld
#skip csky-freestanding-eabihf-baseline-whole-llvm-debug-lld
#skip csky-linux-eabi-baseline-whole-llvm-debug-lld
#skip csky-linux-eabihf-baseline-whole-llvm-debug-lld
#skip csky-linux-gnueabi-baseline-whole-llvm-debug-lld
#skip csky-linux-gnueabihf-baseline-whole-llvm-debug-lld

#skip nvptx-cuda-none-baseline-whole-llvm-debug-lld
#skip nvptx-nvcl-none-baseline-whole-llvm-debug-lld

#skip nvptx64-cuda-none-baseline-whole-llvm-debug-lld
#skip nvptx64-nvcl-none-baseline-whole-llvm-debug-lld

#skip x86_64-linux-gnux32-baseline-whole-llvm-debug-new
#skip x86_64-linux-muslx32-baseline-whole-llvm-debug-new
#skip x86_64-linux-x32-baseline-whole-llvm-debug-new

#zig build-obj {
--name test -ofmt=llvmir -fno-lld -fno-new-linker
-Mroot=test.zig
#}

#write test.zig {
export fn entry(ptr: *i16) i16 {
    return ptr.*;
}
#}
#update "store"
#check llvm {
...
define ... @test.entry(ptr ... nonnull ... %ptr) ... {
  ...
  %ptr.load = load i16, ptr %ptr, align ?, !...
  ...
}

...
#}

#write test.zig {
export fn entry(ptr: *i16) void {
    ptr.* = 42;
}
#}
#update "load"
#check llvm {
...
define ... @test.entry(ptr ... nonnull ... %ptr) ... {
  ...
  store i16 42, ptr %ptr, align ?, !...
  ...
}

...
#}
