M32C opcode support summary

Opcode support summary as of Thu Jan 10 19:21:59 2008 EST

Note that empty cells mean that opcode isn't supported (or isn't specific to) that chip. The M16C supports all the opcodes the R8C supports, and the M32C supports all the opcodes the M32CM supports. GAS only has two options: support all r8c/m16c opcodes, or support all m32cm/m32c opcodes. Numbers in parentheses are the number of patterns tested, either pass or fail/total. Summary is at the bottom, after the table.

Also note that this table is neither a policy of non-support, nor a promise to fix. It exists merely as a statement of the current status of the m32c assember, and/or the correctness of my testsuite ;-)

Opcode R8C/M16C M16C M32CM/M32C M32C
absPASS (92) PASS (120)
adcPASS (4830) PASS (10132)
adcfPASS (92) PASS (136)
addPASS (5870) PASS (90916)
addx PASS (5196)
adjnzPASS (828) PASS (1224)
andPASS (9794) PASS (61092)
bandPASS (68) PASS (136)
bclrPASS (76) PASS (136)
bitindex PASS (136)
bmPASS (1242) PASS (2466)
bnandPASS (68) PASS (136)
bnorPASS (68) PASS (136)
bnotPASS (76) PASS (136)
bntstPASS (68) PASS (136)
bnxorPASS (68) PASS (136)
borPASS (68) PASS (136)
brkPASS (1) PASS (1)
brk2 PASS (1)
bsetPASS (76) PASS (136)
btstPASS (76) PASS (282)
btstcPASS (68) PASS (136)
btstsPASS (68) PASS (136)
bxorPASS (68) PASS (136)
clip PASS (5780)
cmpPASS (10070) PASS (91167)
cmpx PASS (708)
dPASS (16) PASS (38624)
dadPASS (16)
decPASS (19) PASS (240)
divPASS (105) PASS (253) PASS (66)
divuPASS (101) PASS (249) PASS (66)
divxPASS (105) PASS (253) PASS (66)
enterPASS (4) PASS (4)
exitdPASS (1) PASS (1)
extsPASS (43) PASS (4484)
extz PASS (4356)
fclrPASS (8) PASS (8)
freit PASS (1)
fsetPASS (8) PASS (8)
incPASS (19) PASS (240)
index PASS (1224)
intPASS (2) PASS (2)
intoPASS (1) PASS (1)
jPASS (54) PASS (54)
jmpPASS (11) PASS (10)
jmpiFAIL (8/71)
jmpi.w 1048575[a0]
jmpi.w 1048575[a1]
jmpi.w 0xfffff[a0]
jmpi.w 0xfffff[a1]
jmpi.a 1048575[a0]
jmpi.a 1048575[a1]
jmpi.a 0xfffff[a0]
jmpi.a 0xfffff[a1]
PASS (134)
jmps PASS (2) PASS (2)
jsrPASS (5) PASS (5)
jsriPASS (71) PASS (134)
jsrs PASS (2) PASS (2)
ldcPASS (371) PASS (1523)
ldctxPASS (25) PASS (25)
ldePASS (1012)
ldintbFAIL (5/5)
ldintb #0
ldintb #1
ldintb #1048575
ldintb #0xfffff
ldintb #sym
ldiplPASS (2) PASS (2)
max PASS (20264)
movPASS (12713) PASS (95231)
movaPASS (174) PASS (240)
movx PASS (708)
mulPASS (4830) PASS (30360) PASS (66)
mulex PASS (107)
muluPASS (4646) PASS (29880) PASS (66)
negPASS (92) PASS (240)
nopPASS (1) PASS (1)
notPASS (201) PASS (240)
orPASS (5562) PASS (61123)
popPASS (188) PASS (240)
popcPASS (7) PASS (15)
popmPASS (130) PASS (130)
pushPASS (214) PASS (377)
pushaPASS (29) PASS (50)
pushcPASS (7) PASS (15)
pushmPASS (130) PASS (130)
reitPASS (1) PASS (1)
rmpaPASS (2) PASS (2)
rolcPASS (92) PASS (240)
rorcPASS (92) PASS (240)
rotPASS (460) PASS (1200)
rtsPASS (1) PASS (1)
sbbPASS (4830) PASS (10132)
sbjnzPASS (828) PASS (1224)
sc PASS (1224)
scmpu PASS (2)
shaPASS (470) PASS (1790)
shanc PASS (590)
shlPASS (470) PASS (1790)
shlnc PASS (590)
sin PASS (2)
smovPASS (4)
smovb PASS (2)
smovf PASS (2)
smovu PASS (2)
sout PASS (2)
sstrPASS (2) PASS (2)
stcPASS (368) PASS (1402)
stctxPASS (25) PASS (25)
stePASS (1012)
stnzPASS (102) PASS (1560)
stzPASS (102) PASS (1560)
stzxPASS (612) PASS (10200)
subPASS (5562) PASS (90387)
subx PASS (14868)
tstPASS (4830) PASS (20472)
undPASS (1) PASS (1)
waitPASS (1) PASS (1)
xchgPASS (368) PASS (1440)
xorPASS (5428) PASS (30360)
TOTAL: 90,397
PASS:  90,384
FAIL:  13 (1%)
TOTAL: 4
PASS:  4
FAIL:  0
TOTAL: 752,313
PASS:  752,313
FAIL:  0
TOTAL: 1,510
PASS:  1,510
FAIL:  0