Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
PUAE
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
PUAE
Commits
d2075f37
Commit
d2075f37
authored
Jan 18, 2011
by
GnoStiC
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
puae 2.3.1
parent
7f715a45
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
74 additions
and
49 deletions
+74
-49
m68kops.h
src/md-ppc-gcc/m68kops.h
+71
-48
maccess.h
src/md-ppc-gcc/maccess.h
+2
-0
main.m
src/od-macosx/main.m
+1
-1
No files found.
src/md-ppc-gcc/m68kops.h
View file @
d2075f37
...
@@ -31,17 +31,22 @@
...
@@ -31,17 +31,22 @@
*
*
* Evaluate operand and set Z and N flags. Always clear C and V.
* Evaluate operand and set Z and N flags. Always clear C and V.
*/
*/
#define optflag_testl (v) \
/*
do { \
#define optflag_testl (v) \
asm ( \
do { \
"cmpi cr0, %2, 0 \n\t" \
asm ( \
"mfcr %1 \n\t" \
"cmpi cr0, %2, 0\n\t" \
"rlwinm %0, %1, 0, 0, 3 \n\t" \
"mfcr %1\n\t" \
\
"rlwinm %0, %1, 0, 0, 3\n\t"\
:: "r" (v) \
:: "r" (v) : "cr0" \
: "cr0" \
); \
); \
} while (0)
} while (0)
*/
#define optflag_testl (v) \
__asm__ __volatile__ ("cmpi cr0, %2, 0\n\t" \
"mfcr %1\n\t" \
"rlwinm %0, %1, 0, 0, 3\n\t"\
:: "r" (v) : "cr0")
#define optflag_testw(v) optflag_testl((uae_s32)(v))
#define optflag_testw(v) optflag_testl((uae_s32)(v))
#define optflag_testb(v) optflag_testl((uae_s32)(v))
#define optflag_testb(v) optflag_testl((uae_s32)(v))
...
@@ -51,19 +56,23 @@
...
@@ -51,19 +56,23 @@
*
*
* Perform v = s + d and set ZNCV accordingly
* Perform v = s + d and set ZNCV accordingly
*/
*/
#define optflag_addl(v, s, d) \
/*
do { \
#define optflag_addl(v, s, d) \
asm ( \
do { \
"addco. %1, %2, %3 \n\t" \
asm ( \
"mcrxr cr2 \n\t" \
"addco. %1, %2, %3\n\t" \
"mfcr %0 \n\t" \
"mcrxr cr2\n\t" \
\
"mfcr %0\n\t" \
: "=r" (v) \
: "=r" (v) : "r" (s), "r" (d) : "cr0", "cr2" DEP_XER \
: "r" (s), "r" (d) \
); \
: "cr0", "cr2" DEP_XER \
regflags.x = regflags.cznv; \
); \
regflags.x = regflags.cznv; \
} while (0)
} while (0)
*/
#define optflag_addl(v, s, d) \
__asm__ __volatile__ ("addco. %1, %2, %3\n\t" \
"mcrxr cr2\n\t" \
"mfcr %0\n\t" \
: "=r" (v) : "r" (s), "r" (d) : "cr0", "cr2")
#define optflag_addw(v, s, d) do { optflag_addl((v), (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_addw(v, s, d) do { optflag_addl((v), (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_addb(v, s, d) do { optflag_addl((v), (s) << 24, (d) << 24); v = v >> 24; } while (0)
#define optflag_addb(v, s, d) do { optflag_addl((v), (s) << 24, (d) << 24); v = v >> 24; } while (0)
...
@@ -73,38 +82,52 @@
...
@@ -73,38 +82,52 @@
*
*
* Perform v = d - s and set ZNCV accordingly
* Perform v = d - s and set ZNCV accordingly
*/
*/
#define optflag_subl(v, s, d) \
/*
do { \
#define optflag_subl(v, s, d) \
asm ( \
do { \
"subfco. %1, %2, %3 \n\t" \
asm ( \
"mcrxr cr2 \n\t" \
"subfco. %1, %2, %3\n\t" \
"mfcr %0 \n\t" \
"mcrxr cr2\n\t" \
"xoris %0,%0,32 \n\t" \
"mfcr %0\n\t" \
\
"xoris %0,%0,32\n\t" \
: "=r" (v) \
: "=r" (v) : "r" (s), "r" (d) : "cr0", "cr2" DEP_XER \
: "r" (s), \
); \
"r" (d) \
regflags.x = regflags.cznv; \
: "cr0", "cr2" DEP_XER \
); \
regflags.x = regflags.cznv; \
} while (0)
} while (0)
*/
#define optflag_subl(v, s, d) do { \
__asm__ __volatile__ ("subfco. %1, %2, %3\n\t" \
"mcrxr cr2\n\t" \
"mfcr %0\n\t" \
"xoris %0,%0,32\n\t" \
: "=r" (v) : "r" (s), "r" (d) : "cr0", "cr2"); \
regflags.x = regflags.cznv; \
} while (0)
#define optflag_subw(v, s, d) do { optflag_subl(v, (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_subw(v, s, d) do { optflag_subl(v, (s) << 16, (d) << 16); v = v >> 16; } while (0)
#define optflag_subb(v, s, d) do { optflag_subl(v, (s) << 24, (d) << 24); v = v >> 24; } while (0)
#define optflag_subb(v, s, d) do { optflag_subl(v, (s) << 24, (d) << 24); v = v >> 24; } while (0)
#define optflag_cmpl(s, d) \
/*
do { \
* Compare operations
asm ( \
*/
"subfco. %1, %2, %3 \n\t" \
/*
"mcrxr cr2 \n\t" \
#define optflag_cmpl(s, d) \
"mfcr %0 \n\t" \
do { \
"xoris %0,%0,32 \n\t" \
asm ( \
\
"subfco. %1, %2, %3\n\t" \
:: "r" (s), \
"mcrxr cr2\n\t" \
"r" (d) \
"mfcr %0\n\t" \
: "cr0", "cr2" DEP_XER \
"xoris %0,%0,32\n\t" \
); \
:: "r" (s), "r" (d) : "cr0", "cr2" DEP_XER \
); \
} while (0)
} while (0)
*/
#define optflag_cmpl(s, d) \
__asm__ __volatile__ ("subfco. %1, %2, %3\n\t" \
"mcrxr cr2\n\t" \
"mfcr %0\n\t" \
"xoris %0,%0,32\n\t" \
:: "r" (s), "r" (d) : "cr0", "cr2")
#define optflag_cmpw(s, d) optflag_cmpl((s) << 16, (d) << 16)
#define optflag_cmpw(s, d) optflag_cmpl((s) << 16, (d) << 16)
#define optflag_cmpb(s, d) optflag_cmpl((s) << 24, (d) << 24)
#define optflag_cmpb(s, d) optflag_cmpl((s) << 24, (d) << 24)
...
...
src/md-ppc-gcc/maccess.h
View file @
d2075f37
...
@@ -38,3 +38,5 @@ STATIC_INLINE void do_put_mem_byte (uae_u8 *a, uae_u8 v)
...
@@ -38,3 +38,5 @@ STATIC_INLINE void do_put_mem_byte (uae_u8 *a, uae_u8 v)
#define call_mem_get_func(func, addr) ((*func)(addr))
#define call_mem_get_func(func, addr) ((*func)(addr))
#define call_mem_put_func(func, addr, v) ((*func)(addr, v))
#define call_mem_put_func(func, addr, v) ((*func)(addr, v))
#define ALIGN_POINTER_TO32(p) ((~(unsigned long)(p)) & 3)
src/od-macosx/main.m
View file @
d2075f37
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
#import "uae.h"
#import "uae.h"
#ifdef USE_SDL
#ifdef USE_SDL
#
import "SDL.h"
#import "SDL.h"
#endif
#endif
#import "main.h"
#import "main.h"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment