| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- # unit tests for load elimination
- export
- function $tests() {
- @start
- %p =l alloc8 16
- %p3 =l add %p, 3
- %p4 =l add %p, 4
- %p6 =l add %p, 6
- %p8 =l add %p, 8
- @test1
- storew 1, $a
- storel 1311768467139281697, %p
- storeh 255, %p8
- %x1 =w load %p6
- %c1 =w cnew %x1, 16716340
- jnz %c1, @fail, @test2
- @test2
- storew 2, $a
- %x2 =w loadub %p3
- %c2 =w cnew %x2, 135
- jnz %c2, @fail, @test3
- @test3
- storew 3, $a
- storew 2864434397, %p8
- %x3 =l load %p3
- %c3 =w cnel %x3, -4914310023110821753
- jnz %c3, @fail, @test4
- @test4
- @ok
- storew 0, $a
- @fail
- ret
- }
- # >>> driver
- # extern void tests(void);
- # int a;
- # int main() { tests(); return a; }
- # <<<
|