History

Add support for f{l,s}d in riscv64-gen

Aleksi Hannula committed 1 year ago

Commit 01d1b7b1 parent 19589281 file · +8 −0Browse files

Unified · Split

riscv64-asm.c+8−0
@@ -806,6 +806,9 @@ static void asm_mem_access_opcode(TCCState *s1, int token) · 805 unmodified lines
806 case TOK_ASM_lwu:806 case TOK_ASM_lwu:
807 asm_emit_i(token, (0x0 << 2) | 3 | (6 << 12), &ops[0], &ops[1], &ops[2]);807 asm_emit_i(token, (0x0 << 2) | 3 | (6 << 12), &ops[0], &ops[1], &ops[2]);
808 return;808 return;
809 case TOK_ASM_fld:
810 asm_emit_i(token, (0x1 << 2) | 3 | (3 << 12), &ops[0], &ops[1], &ops[2]);
811 return;
809 812
810 // s{b|h|w|d} rs2, imm(rs1); S-format (with rsX swapped)813 // s{b|h|w|d} rs2, imm(rs1); S-format (with rsX swapped)
811 case TOK_ASM_sb:814 case TOK_ASM_sb:
@@ -820,6 +823,9 @@ static void asm_mem_access_opcode(TCCState *s1, int token) · 8 unmodified lines
820 case TOK_ASM_sd:823 case TOK_ASM_sd:
821 asm_emit_s(token, (0x8 << 2) | 3 | (3 << 12), &ops[1], &ops[0], &ops[2]);824 asm_emit_s(token, (0x8 << 2) | 3 | (3 << 12), &ops[1], &ops[0], &ops[2]);
822 return;825 return;
826 case TOK_ASM_fsd:
827 asm_emit_s(token, (0x9 << 2) | 3 | (3 << 12), &ops[1], &ops[0], &ops[2]);
828 return;
823 }829 }
824}830}
825 831
@@ -1272,6 +1278,7 @@ ST_FUNC void asm_opcode(TCCState *s1, int token) · 446 unmodified lines
1272 case TOK_ASM_lh:1278 case TOK_ASM_lh:
1273 case TOK_ASM_lw:1279 case TOK_ASM_lw:
1274 case TOK_ASM_ld:1280 case TOK_ASM_ld:
1281 case TOK_ASM_fld:
1275 case TOK_ASM_lbu:1282 case TOK_ASM_lbu:
1276 case TOK_ASM_lhu:1283 case TOK_ASM_lhu:
1277 case TOK_ASM_lwu:1284 case TOK_ASM_lwu:
@@ -1279,6 +1286,7 @@ ST_FUNC void asm_opcode(TCCState *s1, int token) · 1 unmodified line
1279 case TOK_ASM_sh:1286 case TOK_ASM_sh:
1280 case TOK_ASM_sw:1287 case TOK_ASM_sw:
1281 case TOK_ASM_sd:1288 case TOK_ASM_sd:
1289 case TOK_ASM_fsd:
1282 asm_mem_access_opcode(s1, token);1290 asm_mem_access_opcode(s1, token);
1283 break;1291 break;
1284 1292

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t