aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorAndrew Chambers <[email protected]>2021-10-15 18:08:21 +1300
committerAndrew Chambers <[email protected]>2021-10-15 18:08:21 +1300
commitb457444efaa0afcdb41601ca86a10bb81bbbd8c1 (patch)
tree51687407d150861b4cdec2b2d84de5acbae5c438 /main.c
parentbd5990843a77278a8f7e205131e42f89463225f4 (diff)
Add movq.
Diffstat (limited to 'main.c')
-rw-r--r--main.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/main.c b/main.c
index 7b310c5..c5e2e96 100644
--- a/main.c
+++ b/main.c
@@ -943,6 +943,24 @@ static void assemble(void) {
case ASM_MOV:
assemblemov(&v->instr);
break;
+ case ASM_MOVQ:
+ switch (v->instr.variant) {
+ case 0:
+ assemblerrm(&v->instr, 0x66, 0x01000f7e, 0);
+ break;
+ case 1:
+ assemblerrm(&v->instr, 0x66, 0x01000f6e, 1);
+ break;
+ case 2:
+ assemblerrm(&v->instr, 0x66, 0x01000fd6, 0);
+ break;
+ case 3:
+ assemblerrm(&v->instr, 0xf3, 0x01000f7e, 1);
+ break;
+ default:
+ unreachable();
+ }
+ break;
case ASM_MOVSD:
assemblemovsmmx(&v->instr, 0xf2);
break;