diff options
Diffstat (limited to 'orc/orcmips.c')
-rw-r--r-- | orc/orcmips.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/orc/orcmips.c b/orc/orcmips.c index b0869e9..45abe70 100644 --- a/orc/orcmips.c +++ b/orc/orcmips.c @@ -896,3 +896,19 @@ orc_mips_emit_wsbh (OrcCompiler *compiler, 02, /* WSBH */ 040 /* BSHFL */)); } + +void +orc_mips_emit_seh (OrcCompiler *compiler, + OrcMipsRegister dest, + OrcMipsRegister source) +{ + ORC_ASM_CODE (compiler, " seh %s, %s\n", + orc_mips_reg_name (dest), + orc_mips_reg_name (source)); + orc_mips_emit (compiler, + MIPS_BINARY_INSTRUCTION(037, /* SPECIAL3 */ + ORC_MIPS_ZERO, /* actually no reg here */ + source, dest, + 030, /* SEH */ + 040 /* BSHFL */)); +} |