diff options
| author | Sonicadvance1 <sonicadvance1@gmail.com> | 2010-03-29 09:26:19 +0000 |
|---|---|---|
| committer | Sonicadvance1 <sonicadvance1@gmail.com> | 2010-03-29 09:26:19 +0000 |
| commit | 85a1b2af455157e38a40faa427909f950e9d41d2 (patch) | |
| tree | ab8b482a6330f79d362d74e929f49565cc4d7daf /Source/TestSuite/ASM/source/asm_integer.cpp | |
| parent | a8865d21b32f50b45f48cd1f8e4d1cafc5486585 (diff) | |
This should largely go unnoticed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5251 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/TestSuite/ASM/source/asm_integer.cpp')
| -rw-r--r-- | Source/TestSuite/ASM/source/asm_integer.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Source/TestSuite/ASM/source/asm_integer.cpp b/Source/TestSuite/ASM/source/asm_integer.cpp new file mode 100644 index 0000000000..2f7891c40b --- /dev/null +++ b/Source/TestSuite/ASM/source/asm_integer.cpp @@ -0,0 +1,55 @@ +#include "asm_tables.h" +#include "Defines.h" +void subfc(u32 *a, u32 *b, u32 *c, u32 *d) +{ + asm( + "subfc %0,%1,%2" + : "=r"(*a) + : "r"(*b), "r"(*c) + ); +} +void subfcRC(u32 *a, u32 *b, u32 *c, u32 *d) +{ + asm( + "subfc. %0,%1,%2" + : "=r"(*a) + : "r"(*b), "r"(*c) + : "cc" + ); +} + +void divw(u32 *a, u32 *b, u32 *c, u32 *d) +{ + asm( + "divw %0,%1,%2" + : "=r"(*a) + : "r"(*b), "r"(*c) + ); +} +void divwRC(u32 *a, u32 *b, u32 *c, u32 *d) +{ + asm( + "divw. %0,%1,%2" + : "=r"(*a) + : "r"(*b), "r"(*c) + : "cc" + ); +} + +void divwo(u32 *a, u32 *b, u32 *c, u32 *d) +{ + asm( + "divwo %0,%1,%2" + : "=r"(*a) + : "r"(*b), "r"(*c) + ); +} +void divwoRC(u32 *a, u32 *b, u32 *c, u32 *d) +{ + asm( + "divwo. %0,%1,%2" + : "=r"(*a) + : "r"(*b), "r"(*c) + : "cc" + ); +}
\ No newline at end of file |
