Implemented loads with register offsets
This commit is contained in:
23
tests/programs/array-index-dynamic.q
Normal file
23
tests/programs/array-index-dynamic.q
Normal file
@ -0,0 +1,23 @@
|
||||
import mem
|
||||
|
||||
main() {
|
||||
a := mem.alloc(4)
|
||||
i := 0
|
||||
|
||||
a[i] = i * 2
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
|
||||
i = 0
|
||||
assert a[i] == i * 2
|
||||
i += 1
|
||||
assert a[i] == i * 2
|
||||
i += 1
|
||||
assert a[i] == i * 2
|
||||
i += 1
|
||||
assert a[i] == i * 2
|
||||
}
|
20
tests/programs/array-index-static.q
Normal file
20
tests/programs/array-index-static.q
Normal file
@ -0,0 +1,20 @@
|
||||
import mem
|
||||
|
||||
main() {
|
||||
a := mem.alloc(4)
|
||||
|
||||
assert a[0] == 0
|
||||
assert a[1] == 0
|
||||
assert a[2] == 0
|
||||
assert a[3] == 0
|
||||
|
||||
a[0] = 0
|
||||
a[1] = 1
|
||||
a[2] = 2
|
||||
a[3] = 3
|
||||
|
||||
assert a[0] == 0
|
||||
assert a[1] == 1
|
||||
assert a[2] == 2
|
||||
assert a[3] == 3
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
import mem
|
||||
|
||||
main() {
|
||||
a := mem.alloc(5)
|
||||
|
||||
assert a[0] == 0
|
||||
assert a[1] == 0
|
||||
assert a[2] == 0
|
||||
assert a[3] == 0
|
||||
assert a[4] == 0
|
||||
|
||||
a[0] = 0
|
||||
a[1] = 1
|
||||
a[2] = 2
|
||||
a[3] = 3
|
||||
a[4] = 4
|
||||
|
||||
assert a[0] == 0
|
||||
assert a[1] == 1
|
||||
assert a[2] == 2
|
||||
assert a[3] == 3
|
||||
assert a[4] == 4
|
||||
|
||||
i := 0
|
||||
a[i] = i * 2
|
||||
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
|
||||
i += 1
|
||||
a[i] = i * 2
|
||||
|
||||
assert a[0] == 0
|
||||
assert a[1] == 2
|
||||
assert a[2] == 4
|
||||
assert a[3] == 6
|
||||
assert a[4] == 8
|
||||
}
|
@ -32,7 +32,6 @@ var programs = []struct {
|
||||
{"octal", "", "", 0},
|
||||
{"hexadecimal", "", "", 0},
|
||||
{"const", "", "", 0},
|
||||
{"array", "", "", 0},
|
||||
{"escape-rune", "", "", 0},
|
||||
{"escape-string", "", "", 0},
|
||||
{"bitwise-and", "", "", 0},
|
||||
@ -62,6 +61,8 @@ var programs = []struct {
|
||||
{"loop-lifetime", "", "", 0},
|
||||
{"memory-free", "", "", 0},
|
||||
{"out-of-memory", "", "", 0},
|
||||
{"array-index-static", "", "", 0},
|
||||
{"array-index-dynamic", "", "", 0},
|
||||
{"struct", "", "", 0},
|
||||
{"len", "", "", 0},
|
||||
}
|
||||
|
Reference in New Issue
Block a user