Improving ARM support

This commit is contained in:
Pierre Pronchery 2011-06-12 12:14:51 +00:00
parent 48ea9c04a8
commit 03f5786aca
2 changed files with 14 additions and 1 deletions

View File

@ -74,6 +74,14 @@
#define OPDATAF (32 << AOD_SIZE)
#define OP_DATA2 AO_IMMEDIATE(0, 12, 0)
/* multiply and multiply-accumulate */
#define OPMUL(cond) (cond | (0x9 << 4))
#define OPMULF (32 << AOD_SIZE)
#define OPMULS(cond) (cond | (0x1 << 20) | (0x9 << 4))
#define OPMULSF (32 << AOD_SIZE)
#define OPMULA(cond) (cond | (0x1 << 21) | (0x9 << 4))
#define OPMULAF (32 << AOD_SIZE)
/* instructions */
/* adc */
@ -293,8 +301,11 @@
{ "msrgt", 0x00000000, OPNOP, OP_R, OP_R, AOT_NONE },
{ "msrle", 0x00000000, OPNOP, OP_R, OP_R, AOT_NONE },
{ "msral", 0x00000000, OPNOP, OP_R, OP_R, AOT_NONE },
{ "mul", 0x00000000, OPNOP, AOT_NONE, AOT_NONE, AOT_NONE },
#endif
/* mul */
{ "mul", OPMUL(al), OPMULF, OP_R, OP_R, OP_R },
/* muls */
{ "muls", OPMULS(al), OPMULSF,OP_R, OP_R, OP_R },
/* mvn */
{ "mvn", OPDATA(al,mvn), OPDATAF,OP_R, OP_R, OP_R },
{ "mvneq", OPDATA(eq,mvn), OPDATAF,OP_R, OP_R, OP_R },

View File

@ -24,6 +24,8 @@
moveq %r5, %r4, %r3
mrs %r0, %cpsr
msr %r0, %cpsr
mul %r0, %r1, %r2
muls %r0, %r1, %r2
mvn %r5, %r4, %r3
mvneq %r5, %r4, %r3
nop