projects
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb/testing/tui: add new _csi_{L,S,T}
[binutils-gdb.git]
/
cpu
/
epiphany.cpu
diff --git
a/cpu/epiphany.cpu
b/cpu/epiphany.cpu
index 8d4a57b55b8b86c8c94e21cd89e83eaa95436152..02bce0779d5db97b06dd54b5cd53cc88fdd41a54 100644
(file)
--- a/
cpu/epiphany.cpu
+++ b/
cpu/epiphany.cpu
@@
-1,5
+1,5
@@
; Adapteva EPIPHANY CPU description. -*- Scheme -*-
; Adapteva EPIPHANY CPU description. -*- Scheme -*-
-; Copyright 2011
+; Copyright
1998, 1999, 2000, 2001, 2003, 2006, 2007, 2008, 2009, 2010,
2011
; Free Software Foundation, Inc.
;
; Contributed by Embecosm on behalf of Adapteva, Inc.
; Free Software Foundation, Inc.
;
; Contributed by Embecosm on behalf of Adapteva, Inc.
@@
-149,11
+149,11
@@
(df f-simm8 "branch displacement" (PCREL-ADDR RELOC) 15 8 INT
((value pc) (sra SI (sub SI value pc) 1))
(df f-simm8 "branch displacement" (PCREL-ADDR RELOC) 15 8 INT
((value pc) (sra SI (sub SI value pc) 1))
- ((value pc) (add SI (
sll SI value 1
) pc)))
+ ((value pc) (add SI (
mul SI value 2
) pc)))
(df f-simm24 "branch displacement" (PCREL-ADDR RELOC) 31 24 INT
((value pc) (sra SI (sub SI value pc) 1))
(df f-simm24 "branch displacement" (PCREL-ADDR RELOC) 31 24 INT
((value pc) (sra SI (sub SI value pc) 1))
- ((value pc) (add SI (
sll SI value 1
) pc)))
+ ((value pc) (add SI (
mul SI value 2
) pc)))
(df f-sdisp3 "signed immediate 3 bit" () 9 3 INT #f #f)
(df f-sdisp3 "signed immediate 3 bit" () 9 3 INT #f #f)
@@
-228,10
+228,11
@@
(set (ifield f-disp3) (and SI (ifield f-sdisp11) 7)))
(sequence () ;decode
(set (ifield f-sdisp11)
(set (ifield f-disp3) (and SI (ifield f-sdisp11) 7)))
(sequence () ;decode
(set (ifield f-sdisp11)
- (sra SI (sll SI (or SI (sll (ifield f-disp8) 3)
- (ifield f-disp3))
- 21)
- 21)))
+ (sub SI (xor (and (or (sll (ifield f-disp8) 3)
+ (ifield f-disp3))
+ #x7ff)
+ #x400)
+ #x400)))
)
(dnmf f-imm16 "Short immediate for move/add/sub" () UINT (f-imm8 f-imm-27-8)
)
(dnmf f-imm16 "Short immediate for move/add/sub" () UINT (f-imm8 f-imm-27-8)
@@
-352,7
+353,7
@@
(prefix "")
(values
; some preferred aliases
(prefix "")
(values
; some preferred aliases
- (
sb 9) (sl 10) (fp 11) (ip 12
) (sp 13) (lr 14)
+ (
fp 11
) (sp 13) (lr 14)
; the default register names
(r0 0) (r1 1) (r2 2) (r3 3) (r4 4) (r5 5) (r6 6) (r7 7)
(r8 8) (r9 9) (r10 10) (r11 11) (r12 12) (r13 13) (r14 14) (r15 15)
; the default register names
(r0 0) (r1 1) (r2 2) (r3 3) (r4 4) (r5 5) (r6 6) (r7 7)
(r8 8) (r9 9) (r10 10) (r11 11) (r12 12) (r13 13) (r14 14) (r15 15)
@@
-365,6
+366,7
@@
; some less popular aliases
(a1 0) (a2 1) (a3 2) (a4 3) (v1 4) (v2 5) (v3 6) (v4 7)
(v5 8) (v6 9) (v7 10) (v8 11)
; some less popular aliases
(a1 0) (a2 1) (a3 2) (a4 3) (v1 4) (v2 5) (v3 6) (v4 7)
(v5 8) (v6 9) (v7 10) (v8 11)
+ (sb 9) (sl 10) (ip 12)
)
)
)
)
@@
-1428,7
+1430,7
@@
(dnmi (.sym name "x")
(.str "load " mode " indexed")
(dnmi (.sym name "x")
(.str "load " mode " indexed")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6,$direction$rm6]")
(emit (.sym name "x.l") rd6 rn6 direction rm6)
)
(.str name ".l $rd6,[$rn6,$direction$rm6]")
(emit (.sym name "x.l") rd6 rn6 direction rm6)
)
@@
-1453,7
+1455,7
@@
(dnmi (.sym name "p")
(.str "load " mode " postmodify")
(dnmi (.sym name "p")
(.str "load " mode " postmodify")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6],$direction$rm6")
(emit (.sym name "p.l") rd6 rn6 direction rm6)
)
(.str name ".l $rd6,[$rn6],$direction$rm6")
(emit (.sym name "p.l") rd6 rn6 direction rm6)
)
@@
-1494,7
+1496,7
@@
(dnmi (.sym name "d")
(.str "load " mode " displacement")
(dnmi (.sym name "d")
(.str "load " mode " displacement")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6,$dpmi$disp11]")
(emit (.sym name "d.l") rd6 rn6 dpmi disp11)
)
(.str name ".l $rd6,[$rn6,$dpmi$disp11]")
(emit (.sym name "d.l") rd6 rn6 dpmi disp11)
)
@@
-1519,7
+1521,7
@@
(dnmi (.sym name "dpm")
(.str "load " mode " displacement post-modify")
(dnmi (.sym name "dpm")
(.str "load " mode " displacement post-modify")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6],$dpmi$disp11")
(emit (.sym name "dpm.l") rd6 rn6 dpmi disp11)
)
(.str name ".l $rd6,[$rn6],$dpmi$disp11")
(emit (.sym name "dpm.l") rd6 rn6 dpmi disp11)
)
@@
-1532,12
+1534,12
@@
(emit (.sym name "d16.s") rd rn (disp3 0))
)
(dnmi (.sym name "dl0") "load with 0 disp"
(emit (.sym name "d16.s") rd rn (disp3 0))
)
(dnmi (.sym name "dl0") "load with 0 disp"
- ()
+ (
NO-DIS
)
(.str name " $rd6,[$rn6]")
(emit (.sym name "d.l") rd6 rn6 (dpmi 0) (disp11 0))
)
(dnmi (.sym name "dl0.l") "load with 0 disp"
(.str name " $rd6,[$rn6]")
(emit (.sym name "d.l") rd6 rn6 (dpmi 0) (disp11 0))
)
(dnmi (.sym name "dl0.l") "load with 0 disp"
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6]")
(emit (.sym name "d.l") rd6 rn6 (dpmi 0) (disp11 0))
)
(.str name ".l $rd6,[$rn6]")
(emit (.sym name "d.l") rd6 rn6 (dpmi 0) (disp11 0))
)
@@
-1594,7
+1596,7
@@
(dnmi (.sym name "t.l")
(.str "testset " mode ".l indexed")
(dnmi (.sym name "t.l")
(.str "testset " mode ".l indexed")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6,$direction$rm6]")
(emit (.sym name "t") rd6 rn6 direction rm6)
)
(.str name ".l $rd6,[$rn6,$direction$rm6]")
(emit (.sym name "t") rd6 rn6 direction rm6)
)
@@
-1640,7
+1642,7
@@
(dnmi (.sym name "x.l")
(.str "store" mode " indexed")
(dnmi (.sym name "x.l")
(.str "store" mode " indexed")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6,$direction$rm6]")
(emit (.sym name "x") rd6 rn6 direction rm6)
)
(.str name ".l $rd6,[$rn6,$direction$rm6]")
(emit (.sym name "x") rd6 rn6 direction rm6)
)
@@
-1676,7
+1678,7
@@
)
(dnmi (.sym name "p.l")
(.str "store " mode " postmodify")
)
(dnmi (.sym name "p.l")
(.str "store " mode " postmodify")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6],$direction$rm6")
(emit (.sym name "p") rd6 rn6 direction rm6)
)
(.str name ".l $rd6,[$rn6],$direction$rm6")
(emit (.sym name "p") rd6 rn6 direction rm6)
)
@@
-1714,7
+1716,7
@@
(dnmi (.sym name "d.l")
(.str "store " mode " displacement")
(dnmi (.sym name "d.l")
(.str "store " mode " displacement")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6,$dpmi$disp11]")
(emit (.sym name "d") rd6 rn6 dpmi disp11)
)
(.str name ".l $rd6,[$rn6,$dpmi$disp11]")
(emit (.sym name "d") rd6 rn6 dpmi disp11)
)
@@
-1737,7
+1739,7
@@
)
(dnmi (.sym name "dpm.l")
(.str "store " mode " displacement post-modify")
)
(dnmi (.sym name "dpm.l")
(.str "store " mode " displacement post-modify")
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6],$dpmi$disp11")
(emit (.sym name "dpm") rd6 rn6 dpmi disp11)
)
(.str name ".l $rd6,[$rn6],$dpmi$disp11")
(emit (.sym name "dpm") rd6 rn6 dpmi disp11)
)
@@
-1756,7
+1758,7
@@
)
(dnmi (.sym name "dl0.l") "store w 0 disp"
)
(dnmi (.sym name "dl0.l") "store w 0 disp"
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,[$rn6]")
(emit (.sym name "d") rd6 rn6 (dpmi 0) (disp11 0))
)
(.str name ".l $rd6,[$rn6]")
(emit (.sym name "d") rd6 rn6 (dpmi 0) (disp11 0))
)
@@
-1798,7
+1800,7
@@
)
(dnmi (.sym "cmov.l" cond)
(.str "move register " cond)
)
(dnmi (.sym "cmov.l" cond)
(.str "move register " cond)
- ()
+ (
NO-DIS
)
(.str "mov" name ".l $rd6,$rn6")
(emit (.sym "cmov" cond) rd6 rn6)
)
(.str "mov" name ".l $rd6,$rn6")
(emit (.sym "cmov" cond) rd6 rn6)
)
@@
-1859,7
+1861,7
@@
(dnmi (.sym "movts.l" name)
(.str "move to " name)
(dnmi (.sym "movts.l" name)
(.str "move to " name)
- ()
+ (
NO-DIS
)
(.str "movts.l $" sdreg ",$rd6")
(emit (.sym "movts" name) sdreg rd6)
)
(.str "movts.l $" sdreg ",$rd6")
(emit (.sym "movts" name) sdreg rd6)
)
@@
-1903,7
+1905,7
@@
(dnmi (.sym "movfs.l" name)
(.str "move from " name)
(dnmi (.sym "movfs.l" name)
(.str "move from " name)
- ()
+ (
NO-DIS
)
(.str "movfs.l $rd6,$" snreg)
(emit (.sym "movfs" name) rd6 snreg)
)
(.str "movfs.l $rd6,$" snreg)
(emit (.sym "movfs" name) rd6 snreg)
)
@@
-2165,7
+2167,7
@@
(dnmi (.sym name ".l")
(.str name)
(dnmi (.sym name ".l")
(.str name)
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,$rn6,$rm6")
(emit (.sym name) rd6 rn6 rm6)
)
(.str name ".l $rd6,$rn6,$rm6")
(emit (.sym name) rd6 rn6 rm6)
)
@@
-2307,7
+2309,7
@@
(dnmi (.sym name ".l")
(.str name)
(dnmi (.sym name ".l")
(.str name)
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,$rn6,$rm6")
(emit (.sym name) rd6 rn6 rm6)
)
(.str name ".l $rd6,$rn6,$rm6")
(emit (.sym name) rd6 rn6 rm6)
)
@@
-2349,7
+2351,7
@@
(dnmi (.sym name "i32.l")
(.str name)
(dnmi (.sym name "i32.l")
(.str name)
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,$rn6,$shift")
(emit (.sym name "i32") rd6 rn6 shift)
)
(.str name ".l $rd6,$rn6,$shift")
(emit (.sym name "i32") rd6 rn6 shift)
)
@@
-2411,7
+2413,7
@@
()
)
(dnmi bitrl "bit reverse l"
()
)
(dnmi bitrl "bit reverse l"
- ()
+ (
NO-DIS
)
("bitr.l $rd6,$rn6")
(emit bitr rd6 rn6)
)
("bitr.l $rd6,$rn6")
(emit bitr rd6 rn6)
)
@@
-2441,7
+2443,7
@@
(dnmi (.sym name ".l")
(.str name)
(dnmi (.sym name ".l")
(.str name)
- ()
+ (
NO-DIS
)
(.str name ".l $rd6,$rn6,$rm6")
(emit (.sym name) rd6 rn6 rm6)
)
(.str name ".l $rd6,$rn6,$rm6")
(emit (.sym name) rd6 rn6 rm6)
)
@@
-2496,7
+2498,7
@@
)
(dnmi movtl
"movt imm16"
)
(dnmi movtl
"movt imm16"
- ()
+ (
NO-DIS
)
"movt.l $rd6,$imm16"
(emit movt rd6 imm16)
)
"movt.l $rd6,$imm16"
(emit movt rd6 imm16)
)
@@
-2581,7
+2583,7
@@
(if (or (and invExcEnbit bisbit)
(or (and ovfExcEnbit bvsbit) (and unExcEnbit busbit)))
(if (or (and invExcEnbit bisbit)
(or (and ovfExcEnbit bvsbit) (and unExcEnbit busbit)))
- (sequence ()
+ (sequence ()
(set expcause0bit (const 1))
(set expcause1bit (const 1))
(call-exception #x4 #x2)))
(set expcause0bit (const 1))
(set expcause1bit (const 1))
(call-exception #x4 #x2)))
@@
-2602,7
+2604,7
@@
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
- ()
+ (
NO-DIS
)
(.str "f" name ".l $rd6,$rn6,$rm6")
(emit (.sym "f_" name "f32") rd6 rn6 rm6)
)
(.str "f" name ".l $rd6,$rn6,$rm6")
(emit (.sym "f_" name "f32") rd6 rn6 rm6)
)
@@
-2686,7
+2688,7
@@
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
- ()
+ (
NO-DIS
)
(.str "f" name ".l $rd6,$rn6")
(emit (.sym "f_" name "f32") rd6 rn6)
)
(.str "f" name ".l $rd6,$rn6")
(emit (.sym "f_" name "f32") rd6 rn6)
)
@@
-2746,7
+2748,7
@@
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
- ()
+ (
NO-DIS
)
(.str "f" name ".l $rd6,$rn6")
(emit (.sym "f_" name "f32") rd6 rn6)
)
(.str "f" name ".l $rd6,$rn6")
(emit (.sym "f_" name "f32") rd6 rn6)
)
@@
-2830,7
+2832,7
@@
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
- ()
+ (
NO-DIS
)
(.str "f" name ".l $rd6,$rn6")
(emit (.sym "f_" name "f32") rd6 rn6)
)
(.str "f" name ".l $rd6,$rn6")
(emit (.sym "f_" name "f32") rd6 rn6)
)
@@
-2919,7
+2921,7
@@
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
(dnmi (.sym "f_" name "f32.l")
(.str "f_" name)
- ()
+ (
NO-DIS
)
(.str "f" name ".l $frd6,$frn6")
(emit (.sym "f_" name "f32") frd6 frn6)
)
(.str "f" name ".l $frd6,$frn6")
(emit (.sym "f_" name "f32") frd6 frn6)
)