OSDN Git Service

Initial revision
authorjsm <jsm>
Thu, 6 Jan 2000 03:07:20 +0000 (03:07 +0000)
committerjsm <jsm>
Thu, 6 Jan 2000 03:07:20 +0000 (03:07 +0000)
23 files changed:
sim/testsuite/d10v-elf/t-ae-ld-d.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld-i.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld-id.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld-im.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld-ip.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld2w-d.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld2w-i.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld2w-id.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld2w-im.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-ld2w-ip.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st-d.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st-i.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st-id.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st-im.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st-ip.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st-is.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st2w-d.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st2w-i.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st2w-id.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st2w-im.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st2w-ip.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-ae-st2w-is.s [new file with mode: 0644]
sim/testsuite/d10v-elf/t-mod-ld-pre.s [new file with mode: 0644]

diff --git a/sim/testsuite/d10v-elf/t-ae-ld-d.s b/sim/testsuite/d10v-elf/t-ae-ld-d.s
new file mode 100644 (file)
index 0000000..1be783f
--- /dev/null
@@ -0,0 +1,13 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld
+       
+       ld r8,@0x4000
+test_ld:
+       ld r8,@0x4001
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld-i.s b/sim/testsuite/d10v-elf/t-ae-ld-i.s
new file mode 100644 (file)
index 0000000..42168e1
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld
+       
+       ldi r10, #0x4000
+       ld r8, @r10
+
+       ldi r10, #0x4001
+test_ld:
+       ld r8,@r10
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld-id.s b/sim/testsuite/d10v-elf/t-ae-ld-id.s
new file mode 100644 (file)
index 0000000..86b7382
--- /dev/null
@@ -0,0 +1,15 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld
+       
+       ldi r10, #0x4001
+       ld r8, @(1,r10)
+
+test_ld:
+       ld r8,@(2,r10)
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld-im.s b/sim/testsuite/d10v-elf/t-ae-ld-im.s
new file mode 100644 (file)
index 0000000..08e2ba6
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld
+       
+       ldi r10, #0x4000
+       ld r8, @r10-
+
+       ldi r10, #0x4001
+test_ld:
+       ld r8,@r10-
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld-ip.s b/sim/testsuite/d10v-elf/t-ae-ld-ip.s
new file mode 100644 (file)
index 0000000..cad6660
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld
+       
+       ldi r10, #0x4000
+       ld r8, @r10+
+
+       ldi r10, #0x4001
+test_ld:
+       ld r8,@r10+
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-d.s b/sim/testsuite/d10v-elf/t-ae-ld2w-d.s
new file mode 100644 (file)
index 0000000..c8254ab
--- /dev/null
@@ -0,0 +1,13 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w
+       
+       ld2w r8,@0x4000
+test_ld2w:
+       ld2w r8,@0x4001
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-i.s b/sim/testsuite/d10v-elf/t-ae-ld2w-i.s
new file mode 100644 (file)
index 0000000..4b32df5
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w
+       
+       ldi r10, #0x4000
+       ld2w r8, @r10
+
+       ldi r10, #0x4001
+test_ld2w:
+       ld2w r8,@r10
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-id.s b/sim/testsuite/d10v-elf/t-ae-ld2w-id.s
new file mode 100644 (file)
index 0000000..906b2a0
--- /dev/null
@@ -0,0 +1,14 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w
+       
+       ldi r10, #0x4001
+       ld2w r8,@(1,r10)
+test_ld2w:
+       ld2w r8,@(2,r10)
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-im.s b/sim/testsuite/d10v-elf/t-ae-ld2w-im.s
new file mode 100644 (file)
index 0000000..71a7286
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w
+       
+       ldi r10, #0x4000
+       ld2w r8, @r10-
+
+       ldi r10, #0x4001
+test_ld2w:
+       ld2w r8,@r10-
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-ip.s b/sim/testsuite/d10v-elf/t-ae-ld2w-ip.s
new file mode 100644 (file)
index 0000000..38cfab6
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w
+       
+       ldi r10, #0x4000
+       ld2w r8, @r10+
+
+       ldi r10, #0x4001
+test_ld2w:
+       ld2w r8,@r10+
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st-d.s b/sim/testsuite/d10v-elf/t-ae-st-d.s
new file mode 100644 (file)
index 0000000..1f0edd8
--- /dev/null
@@ -0,0 +1,13 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st
+       
+       st r8,@0x4000
+test_st:
+       st r8,@0x4001
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st-i.s b/sim/testsuite/d10v-elf/t-ae-st-i.s
new file mode 100644 (file)
index 0000000..1524598
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st
+       
+       ldi r10,#0x4000
+       st r8, @r10
+
+       ldi r10,#0x4001
+test_st:
+       st r8,@r10
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st-id.s b/sim/testsuite/d10v-elf/t-ae-st-id.s
new file mode 100644 (file)
index 0000000..4caa1b4
--- /dev/null
@@ -0,0 +1,14 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st
+       
+       ldi r10,#0x4001
+       st r8, @(1,r10)
+test_st:
+       st r8,@(2,r10)
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st-im.s b/sim/testsuite/d10v-elf/t-ae-st-im.s
new file mode 100644 (file)
index 0000000..d4c8baf
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st
+       
+       ldi r10,#0x4000
+       st r8, @r10-
+
+       ldi r10,#0x4001
+test_st:
+       st r8,@r10-
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st-ip.s b/sim/testsuite/d10v-elf/t-ae-st-ip.s
new file mode 100644 (file)
index 0000000..e3a02ee
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st
+       
+       ldi r10,#0x4000
+       st r8, @r10+
+
+       ldi r10,#0x4001
+test_st:
+       st r8,@r10+
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st-is.s b/sim/testsuite/d10v-elf/t-ae-st-is.s
new file mode 100644 (file)
index 0000000..4868780
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st
+       
+       ldi sp,#0x4000
+       st r8, @-SP
+
+       ldi sp,#0x4001
+test_st:
+       st r8,@-SP
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-d.s b/sim/testsuite/d10v-elf/t-ae-st2w-d.s
new file mode 100644 (file)
index 0000000..a0d9c31
--- /dev/null
@@ -0,0 +1,13 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w
+       
+       st2w r8,@0x4000
+test_st2w:
+       st2w r8,@0x4001
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-i.s b/sim/testsuite/d10v-elf/t-ae-st2w-i.s
new file mode 100644 (file)
index 0000000..8c24bc9
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w
+       
+       ldi r10, #0x4000
+       st2w r8, @r10
+
+       ldi r10, #0x4001
+test_st2w:
+       st2w r8,@r10
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-id.s b/sim/testsuite/d10v-elf/t-ae-st2w-id.s
new file mode 100644 (file)
index 0000000..bfbfd4d
--- /dev/null
@@ -0,0 +1,14 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w
+       
+       ldi r10, #0x4001
+       st2w r8, @(1,r10)
+test_st2w:
+       st2w r8,@(2,r10)
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-im.s b/sim/testsuite/d10v-elf/t-ae-st2w-im.s
new file mode 100644 (file)
index 0000000..ee0a9eb
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w
+       
+       ldi r10, #0x4000
+       st2w r8, @r10-
+
+       ldi r10, #0x4001
+test_st2w:
+       st2w r8,@r10-
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-ip.s b/sim/testsuite/d10v-elf/t-ae-st2w-ip.s
new file mode 100644 (file)
index 0000000..dc911f7
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w
+       
+       ldi r10, #0x4000
+       st2w r8, @r10+
+
+       ldi r10, #0x4001
+test_st2w:
+       st2w r8,@r10+
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-is.s b/sim/testsuite/d10v-elf/t-ae-st2w-is.s
new file mode 100644 (file)
index 0000000..e39d71c
--- /dev/null
@@ -0,0 +1,16 @@
+.include "t-macros.i"
+
+       start
+
+       PSW_BITS = 0
+       point_dmap_at_imem
+       check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w
+       
+       ldi sp, #0x4004
+       st2w r8, @-SP
+
+       ldi sp, #0x4005
+test_st2w:
+       st2w r8,@-SP
+       nop
+       exit47
diff --git a/sim/testsuite/d10v-elf/t-mod-ld-pre.s b/sim/testsuite/d10v-elf/t-mod-ld-pre.s
new file mode 100644 (file)
index 0000000..4536e03
--- /dev/null
@@ -0,0 +1,126 @@
+.include "t-macros.i"
+
+.section        .rodata
+        .text
+        .globl  main
+        .type   main,@function
+main:
+    mvfc        r0, PSW             ||  ldi.s       r14, #0
+    ldi.l       r2, 0x100               ; MOD_E
+    ldi.l       r3, 0x108               ; MOD_S
+test_mod_dec_ld:
+    mvtc        r2, MOD_E           ||  bseti       r0, #7
+    mvtc        r3, MOD_S
+    mvtc        r0, PSW                 ; modulo mode enable
+    mv          r1,r3                           ; r1=0x108
+    ld          r4, @r1-        ||      nop     ; r1=0x106
+    ld          r4, @r1-        ||      nop     ; r1=0x104
+    ld          r4, @r1-        ||      nop     ; r1=0x102
+    ld          r4, @r1-        ||      nop     ; r1=0x100
+    ld          r4, @r1-        ||      nop     ; r1=0x108 
+    ld          r4, @r1-        ||      nop     ; r1=0x106 
+    cmpeqi      r1,#0x106
+    brf0f       _ERR            ;  branch to error
+test_mod_inc_ld:
+    mvtc        r2, MOD_S
+    mvtc        r3, MOD_E
+    mv          r1,r2                           ; r1=0x100
+    ld          r4, @r1+        ||      nop     ; r1=0x102
+    ld          r4, @r1+        ||      nop     ; r1=0x104
+    ld          r4, @r1+        ||      nop     ; r1=0x106
+    ld          r4, @r1+        ||      nop     ; r1=0x108
+    ld          r4, @r1+        ||      nop     ; r1=0x100
+    ld          r4, @r1+        ||      nop     ; r1=0x102
+    cmpeqi      r1,#0x102
+    brf0f       _ERR
+test_mod_dec_ld2w:
+    mvtc        r2, MOD_E
+    mvtc        r3, MOD_S
+    mv          r1,r3                           ; r1=0x108
+    ld2W        r4, @r1-        ||      nop     ; r1=0x104
+    ld2W        r4, @r1-        ||      nop     ; r1=0x100
+    ld2W        r4, @r1-        ||      nop     ; r1=0x108 
+    ld2W        r4, @r1-        ||      nop     ; r1=0x104 
+    cmpeqi      r1,#0x104
+    brf0f       _ERR            ; <= branch to error
+test_mod_inc_ld2w:
+    mvtc        r2, MOD_S
+    mvtc        r3, MOD_E           ||  BCLRI       r0, #7
+    mv          r1,r2                           ; r1=0x100
+    ld2W        r4, @r1+        ||      nop     ; r1=0x104
+    ld2W        r4, @r1+        ||      nop     ; r1=0x108
+    ld2W        r4, @r1+        ||      nop     ; r1=0x100
+    ld2W        r4, @r1+        ||      nop     ; r1=0x104
+    cmpeqi      r1,#0x104
+    brf0f       _ERR
+test_mod_dec_ld_dis:
+    mvtc        r0, PSW                 ; modulo mode disable
+    mvtc        r2, MOD_E
+    mvtc        r3, MOD_S
+    mv          r1,r3                           ; r1=0x108
+    ld          r4, @r1-        ||      nop     ; r1=0x106
+    ld          r4, @r1-        ||      nop     ; r1=0x104
+    ld          r4, @r1-        ||      nop     ; r1=0x102
+    ld          r4, @r1-        ||      nop     ; r1=0x100
+    ld          r4, @r1-        ||      nop     ; r1=0xFE
+    ld          r4, @r1-        ||      nop     ; r1=0xFC
+    cmpeqi      r1,#0xFC
+    brf0f       _ERR
+test_mod_inc_ld_dis:
+    mvtc        r2, MOD_S
+    mvtc        r3, MOD_E
+    mv          r1,r2                           ; r1=0x100
+    ld          r4, @r1+        ||      nop     ; r1=0x102
+    ld          r4, @r1+        ||      nop     ; r1=0x104
+    ld          r4, @r1+        ||      nop     ; r1=0x106
+    ld          r4, @r1+        ||      nop     ; r1=0x108
+    ld          r4, @r1+        ||      nop     ; r1=0x10A
+    ld          r4, @r1+        ||      nop     ; r1=0x10C
+    cmpeqi      r1,#0x10C
+    brf0f       _ERR
+test_mod_dec_ld2w_dis:
+    mvtc        r2, MOD_E
+    mvtc        r3, MOD_S
+    mv          r1,r3                           ; r1=0x108
+    ld2W        r4, @r1-        ||      nop     ; r1=0x104
+    ld2W        r4, @r1-        ||      nop     ; r1=0x100
+    ld2W        r4, @r1-        ||      nop     ; r1=0xFC
+    ld2W        r4, @r1-        ||      nop     ; r1=0xF8
+    cmpeqi      r1,#0xF8
+    brf0f       _ERR
+
+ test_mod_inc_ld2w_dis:
+    mvtc        r2, MOD_S
+    mvtc        r3, MOD_E
+    mv          r1,r2                           ; r1=0x100
+    ld2W        r4, @r1+        ||      nop     ; r1=0x104
+    ld2W        r4, @r1+        ||      nop     ; r1=0x108
+    ld2W        r4, @r1+        ||      nop     ; r1=0x10C
+    ld2W        r4, @r1+        ||      nop     ; r1=0x110
+    cmpeqi      r1,#0x110
+    brf0f       _ERR 
+
+_OK:
+       exit0
+_ERR:
+       exit47
+
+