mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
// #target: macos-x64
|
|
fn void test(int* foo)
|
|
{
|
|
foo++;
|
|
foo--;
|
|
int y = 10;
|
|
y++;
|
|
y--;
|
|
float z = 2.0;
|
|
z++;
|
|
++z;
|
|
z--;
|
|
}
|
|
|
|
/* #expect: incdec.ll
|
|
|
|
|
|
%foo = alloca ptr, align 8
|
|
%y = alloca i32, align 4
|
|
%z = alloca float, align 4
|
|
store ptr %0, ptr %foo, align 8
|
|
%1 = load ptr, ptr %foo, align 8
|
|
%ptradd_any = getelementptr i8, ptr %1, i64 4
|
|
store ptr %ptradd_any, ptr %foo, align 8
|
|
%2 = load ptr, ptr %foo, align 8
|
|
%ptradd_any1 = getelementptr i8, ptr %2, i64 -4
|
|
store ptr %ptradd_any1, ptr %foo, align 8
|
|
store i32 10, ptr %y, align 4
|
|
%3 = load i32, ptr %y, align 4
|
|
%add = add i32 %3, 1
|
|
store i32 %add, ptr %y, align 4
|
|
%4 = load i32, ptr %y, align 4
|
|
%sub = sub i32 %4, 1
|
|
store i32 %sub, ptr %y, align 4
|
|
store float 2.000000e+00, ptr %z, align 4
|
|
%5 = load float, ptr %z, align 4
|
|
%fincdec = fadd float %5, 1.000000e+00
|
|
store float %fincdec, ptr %z, align 4
|
|
%6 = load float, ptr %z, align 4
|
|
%fincdec2 = fadd float %6, 1.000000e+00
|
|
store float %fincdec2, ptr %z, align 4
|
|
%7 = load float, ptr %z, align 4
|
|
%fincdec3 = fadd float %7, -1.000000e+00
|
|
store float %fincdec3, ptr %z, align 4
|
|
ret void
|