filename | src/sh4/sh4x86.in |
changeset | 956:4c1ed9e03985 |
prev | 953:f4a156508ad1 |
next | 974:16b079ed11bb |
author | nkeynes |
date | Thu Jan 15 04:15:11 2009 +0000 (15 years ago) |
permissions | -rw-r--r-- |
last change | Add support for the Intel ICC compiler (C only, icc doesn't support Obj-C) - Rename Obj-C source to .m - Separate paths.c into paths_unix.c and paths_osx.m - Add configuration detection of ICC, along with specific opt flags |
file | annotate | diff | log | raw |
1.1 --- a/src/sh4/sh4x86.in Tue Jan 13 11:56:28 2009 +00001.2 +++ b/src/sh4/sh4x86.in Thu Jan 15 04:15:11 2009 +00001.3 @@ -241,10 +241,11 @@1.4 #define check_priv( ) \1.5 if( (sh4r.xlat_sh4_mode & SR_MD) == 0 ) { \1.6 if( sh4_x86.in_delay_slot ) { \1.7 - JMP_exc(EXC_SLOT_ILLEGAL); \1.8 + exit_block_exc(EXC_SLOT_ILLEGAL, (pc-2) ); \1.9 } else { \1.10 - JMP_exc(EXC_ILLEGAL ); \1.11 + exit_block_exc(EXC_ILLEGAL, pc); \1.12 } \1.13 + sh4_x86.branch_taken = TRUE; \1.14 sh4_x86.in_delay_slot = DELAY_NONE; \1.15 return 2; \1.16 }1.17 @@ -313,7 +314,7 @@1.18 #define MEM_WRITE_LONG( addr_reg, value_reg ) decode_address(addr_reg); _CALL_WRITE(addr_reg, value_reg, write_long)1.19 #define MEM_PREFETCH( addr_reg ) decode_address(addr_reg); _CALL_READ(addr_reg, prefetch)1.21 -#define SLOTILLEGAL() JMP_exc(EXC_SLOT_ILLEGAL); sh4_x86.in_delay_slot = DELAY_NONE; return 2;1.22 +#define SLOTILLEGAL() exit_block_exc(EXC_SLOT_ILLEGAL, pc-2); sh4_x86.in_delay_slot = DELAY_NONE; return 2;1.24 /****** Import appropriate calling conventions ******/1.25 #if SIZEOF_VOID_P == 81.26 @@ -1743,9 +1744,9 @@1.27 UNDEF {:1.28 COUNT_INST(I_UNDEF);1.29 if( sh4_x86.in_delay_slot ) {1.30 - SLOTILLEGAL();1.31 + exit_block_exc(EXC_SLOT_ILLEGAL, pc-2);1.32 } else {1.33 - JMP_exc(EXC_ILLEGAL);1.34 + exit_block_exc(EXC_ILLEGAL, pc);1.35 return 2;1.36 }1.37 :}
.