1#skip amdgcn-amdhsa-none-baseline-whole-llvm-lld-pic
2#skip amdgcn-amdpal-none-baseline-whole-llvm-lld-pic
3#skip amdgcn-mesa3d-none-baseline-whole-llvm-lld-pic
4
5#skip csky-freestanding-eabi-baseline-whole-llvm-lld-pic
6#skip csky-freestanding-eabihf-baseline-whole-llvm-lld-pic
7#skip csky-linux-eabi-baseline-whole-llvm-lld-pic
8#skip csky-linux-eabihf-baseline-whole-llvm-lld-pic
9#skip csky-linux-gnueabi-baseline-whole-llvm-lld-pic
10#skip csky-linux-gnueabihf-baseline-whole-llvm-lld-pic
11
12#skip nvptx-cuda-none-baseline-whole-llvm-lld-pic
13#skip nvptx-nvcl-none-baseline-whole-llvm-lld-pic
14
15#skip nvptx64-cuda-none-baseline-whole-llvm-lld-pic
16#skip nvptx64-nvcl-none-baseline-whole-llvm-lld-pic
17
18#skip x86_64-linux-gnux32-baseline-whole-llvm-new-pic
19#skip x86_64-linux-muslx32-baseline-whole-llvm-new-pic
20#skip x86_64-linux-x32-baseline-whole-llvm-new-pic
21
22#obj {
23--name test -fno-lld -fno-new-linker -ofmt=llvmir
24-Mroot=test.zig
25#}
26
27#write test.zig {
28export fn entry(ptr: *i16) i16 {
29 return ptr.*;
30}
31#}
32#update "store"
33#check llvm {
34define #...@test.entry(ptr #...nonnull #...%0) #...{
35#...load i16, ptr %0#...
36}
37
38#}
39
40#write test.zig {
41export fn entry(ptr: *i16) void {
42 ptr.* = 42;
43}
44#}
45#update "load"
46#check llvm {
47define #...@test.entry(ptr #...nonnull #...%0) #...{
48#...store i16 42, ptr %0#...
49}
50
51#}