aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2010-02-12 14:34:45 +0000
committerTristan Gingold <gingold@adacore.com>2010-02-12 14:34:45 +0000
commit9d0e849713a37ee589c203792f8450786733ee63 (patch)
tree627f06d761b7391c88cd30feca4df7b9538a4076 /gas/testsuite
parent8e9c5e020f5fa7b76a1f6694e2eb00a1585151cc (diff)
downloadgdb-9d0e849713a37ee589c203792f8450786733ee63.zip
gdb-9d0e849713a37ee589c203792f8450786733ee63.tar.gz
gdb-9d0e849713a37ee589c203792f8450786733ee63.tar.bz2
gas/
2010-02-12 Tristan Gingold <gingold@adacore.com> Douglas B Rupp <rupp@gnat.com> * config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC. (DUMMY_RELOC_IA64_SLOTCOUNT): Added. (pseudo_func): Add an entry for slotcount. (md_begin): Initialize slotcount pseudo symbol. (ia64_parse_name): Handle @slotcount parameter. (ia64_gen_real_reloc_type): Handle slotcount. (md_apply_fix): Ditto. * doc/c-ia64.texi (IA-64-Relocs): Document @slotcount. gas/testsuite/ 2010-02-12 Tristan Gingold <gingold@adacore.com> * gas/ia64/slotcount.s, gas/ia64/slotcount.s: New test. * gas/ia64/ia64.exp: Add slotcount test (vms only).
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/ia64/ia64.exp5
-rw-r--r--gas/testsuite/gas/ia64/slotcount.d10
-rw-r--r--gas/testsuite/gas/ia64/slotcount.s51
4 files changed, 71 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 07455e4..ad81fae 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-12 Tristan Gingold <gingold@adacore.com>
+
+ * gas/ia64/slotcount.s, gas/ia64/slotcount.s: New test.
+ * gas/ia64/ia64.exp: Add slotcount test (vms only).
+
2010-02-10 Quentin Neill <quentin.neill@amd.com>
Sebastian Pop <sebastian.pop@amd.com>
diff --git a/gas/testsuite/gas/ia64/ia64.exp b/gas/testsuite/gas/ia64/ia64.exp
index 3dfd10b..221b8d4 100644
--- a/gas/testsuite/gas/ia64/ia64.exp
+++ b/gas/testsuite/gas/ia64/ia64.exp
@@ -89,4 +89,9 @@ if [istarget "ia64-*"] then {
run_dump_test "operand-or"
run_list_test "hint.b-err" ""
run_list_test "hint.b-warn" "-mhint.b=warning"
+
+ if [istarget "ia64-*-*vms*"] then {
+ run_dump_test "slotcount"
+ }
+
}
diff --git a/gas/testsuite/gas/ia64/slotcount.d b/gas/testsuite/gas/ia64/slotcount.d
new file mode 100644
index 0000000..3548266
--- /dev/null
+++ b/gas/testsuite/gas/ia64/slotcount.d
@@ -0,0 +1,10 @@
+#objdump: -s -j .slot_test
+#name: ia64 slotcount
+
+.*: +file format .*
+
+Contents of section .slot_test:
+ 0000 04000000 01000000 02000000 03000000 ................
+ 0010 04000000 05000000 06000000 07000000 ................
+ 0020 08000000 02000000 06000000 03000000 ................
+ 0030 02000000 ....
diff --git a/gas/testsuite/gas/ia64/slotcount.s b/gas/testsuite/gas/ia64/slotcount.s
new file mode 100644
index 0000000..bdbc318
--- /dev/null
+++ b/gas/testsuite/gas/ia64/slotcount.s
@@ -0,0 +1,51 @@
+ .section .slot_test0,"",@progbits
+ data4.ua @slotcount(.L1-.L0)
+
+ .text
+ .align 16
+foo:
+[.L0:]
+ mov r2 = r12
+[.L1:]
+ mov r8 = r14
+[.L2:]
+ ;;
+ mov r12 = r2
+[.L3:]
+ {
+ .mii
+ nop 0
+[.L4:]
+ nop 0
+[.L5:]
+ nop 0
+ }
+ {
+[.L6:]
+ nop 0
+[.L7:]
+ nop 0
+[.L8:]
+ br.ret.sptk.many b0
+ ;;
+ }
+
+ .section .slot_test,"",@progbits
+// data4.ua @slotcount(.Lundef)
+
+ data4.ua @slotcount(17)
+
+ data4.ua @slotcount(.L1-.L0) // 1
+ data4.ua @slotcount(.L2-.L0) // 2
+ data4.ua @slotcount(.L3-.L0) // 3
+ data4.ua @slotcount(.L4-.L0) // 4
+ data4.ua @slotcount(.L5-.L0) // 5
+ data4.ua @slotcount(.L6-.L0) // 6
+ data4.ua @slotcount(.L7-.L0) // 7
+ data4.ua @slotcount(.L8-.L0) // 8
+
+ data4.ua @slotcount(.L3-.L1) // 2
+ data4.ua @slotcount(.L8-.L2) // 6
+ data4.ua @slotcount(.L4-.L1) // 3
+ data4.ua @slotcount(.L4-.L2) // 2
+// data4.ua @slotcount(.L2-.Lundef)