File tree Expand file tree Collapse file tree 5 files changed +9
-5
lines changed
arch_overlay/qc_iu/inst/Xqccmp Expand file tree Collapse file tree 5 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ encoding:
24
24
not : [0, 1, 2, 3]
25
25
- name : spimm
26
26
location : 3-2
27
+ left_shift : 4
27
28
access :
28
29
s : always
29
30
u : always
@@ -38,7 +39,7 @@ operation(): |
38
39
XReg size = xlen() / 8;
39
40
XReg nreg = (rlist == 15) ? 13 : (rlist - 3);
40
41
XReg stack_aligned_adj = (nreg * size + 15) & ~0xF;
41
- XReg virtual_address_new_sp = virtual_address_sp + stack_aligned_adj + spimm;
42
+ XReg virtual_address_new_sp = virtual_address_sp + stack_aligned_adj + ( spimm `<< 4) ;
42
43
XReg virtual_address_base = virtual_address_new_sp - size;
43
44
44
45
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ encoding:
24
24
not : [0, 1, 2, 3]
25
25
- name : spimm
26
26
location : 3-2
27
+ left_shift : 4
27
28
access :
28
29
s : always
29
30
u : always
@@ -38,7 +39,7 @@ operation(): |
38
39
XReg size = xlen() / 8;
39
40
XReg nreg = (rlist == 15) ? 13 : (rlist - 3);
40
41
XReg stack_aligned_adj = (nreg * size + 15) & ~0xF;
41
- XReg virtual_address_new_sp = virtual_address_sp + stack_aligned_adj + spimm;
42
+ XReg virtual_address_new_sp = virtual_address_sp + stack_aligned_adj + ( spimm `<< 4) ;
42
43
XReg virtual_address_base = virtual_address_new_sp - size;
43
44
44
45
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ encoding:
24
24
not : [0, 1, 2, 3]
25
25
- name : spimm
26
26
location : 3-2
27
+ left_shift : 4
27
28
access :
28
29
s : always
29
30
u : always
@@ -38,7 +39,7 @@ operation(): |
38
39
XReg size = xlen() / 8;
39
40
XReg nreg = (rlist == 15) ? 13 : (rlist - 3);
40
41
XReg stack_aligned_adj = (nreg * size + 15) & ~0xF;
41
- XReg virtual_address_new_sp = virtual_address_sp + stack_aligned_adj + spimm;
42
+ XReg virtual_address_new_sp = virtual_address_sp + stack_aligned_adj + ( spimm `<< 4) ;
42
43
XReg virtual_address_base = virtual_address_new_sp - size;
43
44
44
45
X[ 1] = read_memory_xlen(virtual_address_base - 0*size, $encoding);
Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ operation(): |
40
40
XReg size = xlen() / 8;
41
41
XReg nreg = (rlist == 15) ? 13 : (rlist - 3);
42
42
XReg stack_aligned_adj = (nreg * size + 15) & ~0xF;
43
- XReg virtual_address_new_sp = virtual_address_sp - stack_aligned_adj - spimm;
43
+ XReg virtual_address_new_sp = virtual_address_sp - stack_aligned_adj - ( spimm `<< 4) ;
44
44
XReg virtual_address_base = virtual_address_sp - size;
45
45
46
46
write_memory_xlen(virtual_address_base - 0*size, X[ 1], $encoding);
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ encoding:
26
26
not : [0, 1, 2, 3, 4]
27
27
- name : spimm
28
28
location : 3-2
29
+ left_shift : 4
29
30
access :
30
31
s : always
31
32
u : always
@@ -40,7 +41,7 @@ operation(): |
40
41
XReg size = xlen() / 8;
41
42
XReg nreg = (rlist == 15) ? 13 : (rlist - 3);
42
43
XReg stack_aligned_adj = (nreg * size + 15) & ~0xF;
43
- XReg virtual_address_new_sp = virtual_address_sp - stack_aligned_adj - spimm;
44
+ XReg virtual_address_new_sp = virtual_address_sp - stack_aligned_adj - ( spimm `<< 4) ;
44
45
XReg virtual_address_base = virtual_address_sp - size;
45
46
46
47
write_memory_xlen(virtual_address_base - 0*size, X[ 1], $encoding);
You can’t perform that action at this time.
0 commit comments