]> gitweb.factorcode.org Git - factor.git/blob - core/cpu/ppc/assembler/assembler-tests.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / core / cpu / ppc / assembler / assembler-tests.factor
1 IN: cpu.ppc.assembler.tests
2 USING: cpu.ppc.assembler tools.test arrays kernel namespaces
3 vocabs sequences ;
4
5 : test-assembler ( expected quot -- )
6     [ 1array ] [ [ { } make ] curry ] bi* unit-test ;
7
8 { HEX: 38220003 } [ 1 2 3 ADDI ] test-assembler
9 { HEX: 3c220003 } [ 1 2 3 ADDIS ] test-assembler
10 { HEX: 30220003 } [ 1 2 3 ADDIC ] test-assembler
11 { HEX: 34220003 } [ 1 2 3 ADDIC. ] test-assembler
12 { HEX: 38400001 } [ 1 2 LI ] test-assembler
13 { HEX: 3c400001 } [ 1 2 LIS ] test-assembler
14 { HEX: 3822fffd } [ 1 2 3 SUBI ] test-assembler
15 { HEX: 1c220003 } [ 1 2 3 MULI ] test-assembler
16 { HEX: 7c221a14 } [ 1 2 3 ADD ] test-assembler
17 { HEX: 7c221a15 } [ 1 2 3 ADD. ] test-assembler
18 { HEX: 7c221e14 } [ 1 2 3 ADDO ] test-assembler
19 { HEX: 7c221e15 } [ 1 2 3 ADDO. ] test-assembler
20 { HEX: 7c221814 } [ 1 2 3 ADDC ] test-assembler
21 { HEX: 7c221815 } [ 1 2 3 ADDC. ] test-assembler
22 { HEX: 7c221e14 } [ 1 2 3 ADDO ] test-assembler
23 { HEX: 7c221c15 } [ 1 2 3 ADDCO. ] test-assembler
24 { HEX: 7c221914 } [ 1 2 3 ADDE ] test-assembler
25 { HEX: 7c411838 } [ 1 2 3 AND ] test-assembler
26 { HEX: 7c411839 } [ 1 2 3 AND. ] test-assembler
27 { HEX: 7c221bd6 } [ 1 2 3 DIVW ] test-assembler
28 { HEX: 7c221b96 } [ 1 2 3 DIVWU ] test-assembler
29 { HEX: 7c411a38 } [ 1 2 3 EQV ] test-assembler
30 { HEX: 7c411bb8 } [ 1 2 3 NAND ] test-assembler
31 { HEX: 7c4118f8 } [ 1 2 3 NOR ] test-assembler
32 { HEX: 7c4110f8 } [ 1 2 NOT ] test-assembler
33 { HEX: 60410003 } [ 1 2 3 ORI ] test-assembler
34 { HEX: 64410003 } [ 1 2 3 ORIS ] test-assembler
35 { HEX: 7c411b78 } [ 1 2 3 OR ] test-assembler
36 { HEX: 7c411378 } [ 1 2 MR ] test-assembler
37 { HEX: 7c221896 } [ 1 2 3 MULHW ] test-assembler
38 { HEX: 1c220003 } [ 1 2 3 MULLI ] test-assembler
39 { HEX: 7c221816 } [ 1 2 3 MULHWU ] test-assembler
40 { HEX: 7c2219d6 } [ 1 2 3 MULLW ] test-assembler
41 { HEX: 7c411830 } [ 1 2 3 SLW ] test-assembler
42 { HEX: 7c411e30 } [ 1 2 3 SRAW ] test-assembler
43 { HEX: 7c411c30 } [ 1 2 3 SRW ] test-assembler
44 { HEX: 7c411e70 } [ 1 2 3 SRAWI ] test-assembler
45 { HEX: 7c221850 } [ 1 2 3 SUBF ] test-assembler
46 { HEX: 7c221810 } [ 1 2 3 SUBFC ] test-assembler
47 { HEX: 7c221910 } [ 1 2 3 SUBFE ] test-assembler
48 { HEX: 7c410774 } [ 1 2 EXTSB ] test-assembler
49 { HEX: 68410003 } [ 1 2 3 XORI ] test-assembler
50 { HEX: 7c411a78 } [ 1 2 3 XOR ] test-assembler
51 { HEX: 7c2200d0 } [ 1 2 NEG ] test-assembler
52 { HEX: 2c220003 } [ 1 2 3 CMPI ] test-assembler
53 { HEX: 28220003 } [ 1 2 3 CMPLI ] test-assembler
54 { HEX: 7c411800 } [ 1 2 3 CMP ] test-assembler
55 { HEX: 5422190a } [ 1 2 3 4 5 RLWINM ] test-assembler
56 { HEX: 54221838 } [ 1 2 3 SLWI ] test-assembler
57 { HEX: 5422e8fe } [ 1 2 3 SRWI ] test-assembler
58 { HEX: 88220003 } [ 1 2 3 LBZ ] test-assembler
59 { HEX: 8c220003 } [ 1 2 3 LBZU ] test-assembler
60 { HEX: a8220003 } [ 1 2 3 LHA ] test-assembler
61 { HEX: ac220003 } [ 1 2 3 LHAU ] test-assembler
62 { HEX: a0220003 } [ 1 2 3 LHZ ] test-assembler
63 { HEX: a4220003 } [ 1 2 3 LHZU ] test-assembler
64 { HEX: 80220003 } [ 1 2 3 LWZ ] test-assembler
65 { HEX: 84220003 } [ 1 2 3 LWZU ] test-assembler
66 { HEX: 7c4118ae } [ 1 2 3 LBZX ] test-assembler
67 { HEX: 7c4118ee } [ 1 2 3 LBZUX ] test-assembler
68 { HEX: 7c411aae } [ 1 2 3 LHAX ] test-assembler
69 { HEX: 7c411aee } [ 1 2 3 LHAUX ] test-assembler
70 { HEX: 7c411a2e } [ 1 2 3 LHZX ] test-assembler
71 { HEX: 7c411a6e } [ 1 2 3 LHZUX ] test-assembler
72 { HEX: 7c41182e } [ 1 2 3 LWZX ] test-assembler
73 { HEX: 7c41186e } [ 1 2 3 LWZUX ] test-assembler
74 { HEX: 48000001 } [ 1 B ] test-assembler
75 { HEX: 48000001 } [ 1 BL ] test-assembler
76 { HEX: 41800004 } [ 1 BLT ] test-assembler
77 { HEX: 41810004 } [ 1 BGT ] test-assembler
78 { HEX: 40810004 } [ 1 BLE ] test-assembler
79 { HEX: 40800004 } [ 1 BGE ] test-assembler
80 { HEX: 41800004 } [ 1 BLT ] test-assembler
81 { HEX: 40820004 } [ 1 BNE ] test-assembler
82 { HEX: 41820004 } [ 1 BEQ ] test-assembler
83 { HEX: 41830004 } [ 1 BO ] test-assembler
84 { HEX: 40830004 } [ 1 BNO ] test-assembler
85 { HEX: 4c200020 } [ 1 BCLR ] test-assembler
86 { HEX: 4e800020 } [ BLR ] test-assembler
87 { HEX: 4e800021 } [ BLRL ] test-assembler
88 { HEX: 4c200420 } [ 1 BCCTR ] test-assembler
89 { HEX: 4e800420 } [ BCTR ] test-assembler
90 { HEX: 7c6102a6 } [ 3 MFXER ] test-assembler
91 { HEX: 7c6802a6 } [ 3 MFLR ] test-assembler
92 { HEX: 7c6902a6 } [ 3 MFCTR ] test-assembler
93 { HEX: 7c6103a6 } [ 3 MTXER ] test-assembler
94 { HEX: 7c6803a6 } [ 3 MTLR ] test-assembler
95 { HEX: 7c6903a6 } [ 3 MTCTR ] test-assembler
96 { HEX: 7c6102a6 } [ 3 MFXER ] test-assembler
97 { HEX: 7c6802a6 } [ 3 MFLR ] test-assembler
98 { HEX: c0220003 } [ 1 2 3 LFS ] test-assembler
99 { HEX: c4220003 } [ 1 2 3 LFSU ] test-assembler
100 { HEX: c8220003 } [ 1 2 3 LFD ] test-assembler
101 { HEX: cc220003 } [ 1 2 3 LFDU ] test-assembler
102 { HEX: d0220003 } [ 1 2 3 STFS ] test-assembler
103 { HEX: d4220003 } [ 1 2 3 STFSU ] test-assembler
104 { HEX: d8220003 } [ 1 2 3 STFD ] test-assembler
105 { HEX: dc220003 } [ 1 2 3 STFDU ] test-assembler
106 { HEX: fc201048 } [ 1 2 FMR ] test-assembler
107 { HEX: fc20101e } [ 1 2 FCTIWZ ] test-assembler
108 { HEX: fc22182a } [ 1 2 3 FADD ] test-assembler
109 { HEX: fc22182b } [ 1 2 3 FADD. ] test-assembler
110 { HEX: fc221828 } [ 1 2 3 FSUB ] test-assembler
111 { HEX: fc2200f2 } [ 1 2 3 FMUL ] test-assembler
112 { HEX: fc221824 } [ 1 2 3 FDIV ] test-assembler
113 { HEX: fc20102c } [ 1 2 FSQRT ] test-assembler
114 { HEX: fc411800 } [ 1 2 3 FCMPU ] test-assembler
115 { HEX: fc411840 } [ 1 2 3 FCMPO ] test-assembler
116 { HEX: 3c601234 HEX: 60635678 } [ HEX: 12345678 3 LOAD ] test-assembler
117
118 "cpu.ppc.assembler" words [ must-infer ] each