1 USING: accessors arrays classes compiler.cfg
2 compiler.cfg.debugger compiler.cfg.instructions
3 compiler.cfg.linear-scan.debugger
4 compiler.cfg.linear-scan.live-intervals
5 compiler.cfg.linear-scan.numbering
6 compiler.cfg.linear-scan.resolve compiler.cfg.predecessors
7 compiler.cfg.registers compiler.cfg.rpo cpu.architecture kernel
8 namespaces tools.test vectors ;
9 IN: compiler.cfg.linear-scan.resolve.tests
12 { 3 4 } V{ 1 2 } clone [ { 5 6 } 3append-here ] keep >array
17 T{ _copy { dst 5 } { src 4 } { class int-regs } }
18 T{ _spill { src 1 } { class int-regs } { n spill-temp } }
19 T{ _copy { dst 1 } { src 0 } { class int-regs } }
20 T{ _reload { dst 0 } { class int-regs } { n spill-temp } }
21 T{ _spill { src 1 } { class float-regs } { n spill-temp } }
22 T{ _copy { dst 1 } { src 0 } { class float-regs } }
23 T{ _reload { dst 0 } { class float-regs } { n spill-temp } }
27 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
28 T{ register->register { from 1 } { to 0 } { reg-class int-regs } }
29 T{ register->register { from 0 } { to 1 } { reg-class float-regs } }
30 T{ register->register { from 1 } { to 0 } { reg-class float-regs } }
31 T{ register->register { from 4 } { to 5 } { reg-class int-regs } }
32 } mapping-instructions
37 T{ _spill { src 2 } { class int-regs } { n spill-temp } }
38 T{ _copy { dst 2 } { src 1 } { class int-regs } }
39 T{ _copy { dst 1 } { src 0 } { class int-regs } }
40 T{ _reload { dst 0 } { class int-regs } { n spill-temp } }
44 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
45 T{ register->register { from 1 } { to 2 } { reg-class int-regs } }
46 T{ register->register { from 2 } { to 0 } { reg-class int-regs } }
47 } mapping-instructions
52 T{ _spill { src 0 } { class int-regs } { n spill-temp } }
53 T{ _copy { dst 0 } { src 2 } { class int-regs } }
54 T{ _copy { dst 2 } { src 1 } { class int-regs } }
55 T{ _reload { dst 1 } { class int-regs } { n spill-temp } }
59 T{ register->register { from 1 } { to 2 } { reg-class int-regs } }
60 T{ register->register { from 2 } { to 0 } { reg-class int-regs } }
61 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
62 } mapping-instructions
67 T{ _copy { dst 1 } { src 0 } { class int-regs } }
68 T{ _copy { dst 2 } { src 0 } { class int-regs } }
72 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
73 T{ register->register { from 0 } { to 2 } { reg-class int-regs } }
74 } mapping-instructions
81 T{ register->register { from 4 } { to 4 } { reg-class int-regs } }
82 } mapping-instructions
87 T{ _spill { src 3 } { class int-regs } { n 4 } }
88 T{ _reload { dst 2 } { class int-regs } { n 1 } }
92 T{ register->memory { from 3 } { to T{ spill-slot f 4 } } { reg-class int-regs } }
93 T{ memory->register { from T{ spill-slot f 1 } } { to 2 } { reg-class int-regs } }
94 } mapping-instructions
100 T{ _copy { dst 1 } { src 0 } { class int-regs } }
101 T{ _copy { dst 2 } { src 0 } { class int-regs } }
102 T{ _copy { dst 0 } { src 3 } { class int-regs } }
106 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
107 T{ register->register { from 3 } { to 0 } { reg-class int-regs } }
108 T{ register->register { from 0 } { to 2 } { reg-class int-regs } }
109 } mapping-instructions
114 T{ _copy { dst 1 } { src 0 } { class int-regs } }
115 T{ _copy { dst 2 } { src 0 } { class int-regs } }
116 T{ _spill { src 4 } { class int-regs } { n spill-temp } }
117 T{ _copy { dst 4 } { src 0 } { class int-regs } }
118 T{ _copy { dst 0 } { src 3 } { class int-regs } }
119 T{ _reload { dst 3 } { class int-regs } { n spill-temp } }
123 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
124 T{ register->register { from 0 } { to 2 } { reg-class int-regs } }
125 T{ register->register { from 3 } { to 0 } { reg-class int-regs } }
126 T{ register->register { from 4 } { to 3 } { reg-class int-regs } }
127 T{ register->register { from 0 } { to 4 } { reg-class int-regs } }
128 } mapping-instructions
133 T{ _copy { dst 2 } { src 0 } { class int-regs } }
134 T{ _copy { dst 9 } { src 1 } { class int-regs } }
135 T{ _copy { dst 1 } { src 0 } { class int-regs } }
136 T{ _spill { src 4 } { class int-regs } { n spill-temp } }
137 T{ _copy { dst 4 } { src 0 } { class int-regs } }
138 T{ _copy { dst 0 } { src 3 } { class int-regs } }
139 T{ _reload { dst 3 } { class int-regs } { n spill-temp } }
143 T{ register->register { from 0 } { to 1 } { reg-class int-regs } }
144 T{ register->register { from 0 } { to 2 } { reg-class int-regs } }
145 T{ register->register { from 1 } { to 9 } { reg-class int-regs } }
146 T{ register->register { from 3 } { to 0 } { reg-class int-regs } }
147 T{ register->register { from 4 } { to 3 } { reg-class int-regs } }
148 T{ register->register { from 0 } { to 4 } { reg-class int-regs } }
149 } mapping-instructions