Skip to content

Commit

Permalink
MIPS: Add MIPS64 R6 port.
Browse files Browse the repository at this point in the history
Contributed by Hua Zhang, YunQiang Su from Wave Computing,
and Radovan Birdic from RT-RK.
Sponsored by Wave Computing.
  • Loading branch information
Mike Pall committed Jan 20, 2020
1 parent dfa692b commit 94d0b53
Show file tree
Hide file tree
Showing 15 changed files with 1,296 additions and 347 deletions.
13 changes: 7 additions & 6 deletions dynasm/dasm_mips.h
Expand Up @@ -355,14 +355,15 @@ int dasm_encode(Dst_DECL, void *buffer)
CK(n >= 0, UNDEF_PC);
n = *DASM_POS2PTR(D, n);
if (ins & 2048)
n = n - (int)((char *)cp - base);
else
n = (n + (int)(size_t)base) & 0x0fffffff;
patchrel:
else
n = n - (int)((char *)cp - base);
patchrel: {
unsigned int e = 16 + ((ins >> 12) & 15);
CK((n & 3) == 0 &&
((n + ((ins & 2048) ? 0x00020000 : 0)) >>
((ins & 2048) ? 18 : 28)) == 0, RANGE_REL);
cp[-1] |= ((n>>2) & ((ins & 2048) ? 0x0000ffff: 0x03ffffff));
((n + ((ins & 2048) ? 0 : (1<<(e+1)))) >> (e+2)) == 0, RANGE_REL);
cp[-1] |= ((n>>2) & ((1<<e)-1));
}
break;
case DASM_LABEL_LG:
ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n);
Expand Down

0 comments on commit 94d0b53

Please sign in to comment.