summaryrefslogtreecommitdiff
path: root/Source/TestSuite/ASM/source/asm_integer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/TestSuite/ASM/source/asm_integer.cpp')
-rw-r--r--Source/TestSuite/ASM/source/asm_integer.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/TestSuite/ASM/source/asm_integer.cpp b/Source/TestSuite/ASM/source/asm_integer.cpp
index 2f7891c40b..ed81832a5b 100644
--- a/Source/TestSuite/ASM/source/asm_integer.cpp
+++ b/Source/TestSuite/ASM/source/asm_integer.cpp
@@ -1,5 +1,24 @@
#include "asm_tables.h"
#include "Defines.h"
+
+void add(u32 *a, u32 *b, u32 *c, u32 *d)
+{
+ asm(
+ "add %0,%1,%2"
+ : "=r"(*a)
+ : "r"(*b), "r"(*c)
+ );
+}
+void addRC(u32 *a, u32 *b, u32 *c, u32 *d)
+{
+ asm(
+ "add. %0,%1,%2"
+ : "=r"(*a)
+ : "r"(*b), "r"(*c)
+ : "cc"
+ );
+}
+
void subfc(u32 *a, u32 *b, u32 *c, u32 *d)
{
asm(