xtensa: gas: add relaxations tests
authorMax Filippov <jcmvbkbc@gmail.com>
Fri, 5 Apr 2019 00:06:57 +0000 (17:06 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Thu, 11 Apr 2019 18:42:12 +0000 (11:42 -0700)
gas/
2019-04-11  Max Filippov  <jcmvbkbc@gmail.com>

* testsuite/gas/xtensa/loop-relax-2.d: New test definition.
* testsuite/gas/xtensa/loop-relax.d: New test definition.
* testsuite/gas/xtensa/loop-relax.s: New test source.
* testsuite/gas/xtensa/text-section-literals-1a.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-2.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-2.s: New test
source.
* testsuite/gas/xtensa/text-section-literals-2a.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-3.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-3.s: New test
source.
* testsuite/gas/xtensa/text-section-literals-4.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-4.s: New test
source.
* testsuite/gas/xtensa/text-section-literals-4a.d: New test
definition.

13 files changed:
gas/ChangeLog
gas/testsuite/gas/xtensa/loop-relax-2.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/loop-relax.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/loop-relax.s [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-1a.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-2.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-2.s [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-2a.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-3.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-3.s [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-4.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-4.s [new file with mode: 0644]
gas/testsuite/gas/xtensa/text-section-literals-4a.d [new file with mode: 0644]

index c41be94..12350c7 100644 (file)
@@ -1,5 +1,29 @@
 2019-04-11  Max Filippov  <jcmvbkbc@gmail.com>
 
+       * testsuite/gas/xtensa/loop-relax-2.d: New test definition.
+       * testsuite/gas/xtensa/loop-relax.d: New test definition.
+       * testsuite/gas/xtensa/loop-relax.s: New test source.
+       * testsuite/gas/xtensa/text-section-literals-1a.d: New test
+       definition.
+       * testsuite/gas/xtensa/text-section-literals-2.d: New test
+       definition.
+       * testsuite/gas/xtensa/text-section-literals-2.s: New test
+       source.
+       * testsuite/gas/xtensa/text-section-literals-2a.d: New test
+       definition.
+       * testsuite/gas/xtensa/text-section-literals-3.d: New test
+       definition.
+       * testsuite/gas/xtensa/text-section-literals-3.s: New test
+       source.
+       * testsuite/gas/xtensa/text-section-literals-4.d: New test
+       definition.
+       * testsuite/gas/xtensa/text-section-literals-4.s: New test
+       source.
+       * testsuite/gas/xtensa/text-section-literals-4a.d: New test
+       definition.
+
+2019-04-11  Max Filippov  <jcmvbkbc@gmail.com>
+
        * testsuite/gas/xtensa/all.exp: Remove all expect-based
        tests and all explicit run_dump_test / run_list_test
        invocations. Add run_dump_tests for all .d files in the
diff --git a/gas/testsuite/gas/xtensa/loop-relax-2.d b/gas/testsuite/gas/xtensa/loop-relax-2.d
new file mode 100644 (file)
index 0000000..c0024bf
--- /dev/null
@@ -0,0 +1,7 @@
+#as: --text-section-literals
+#source: loop_align.s
+#objdump: -d
+
+#...
+.*loop.*a5,.*
+#...
diff --git a/gas/testsuite/gas/xtensa/loop-relax.d b/gas/testsuite/gas/xtensa/loop-relax.d
new file mode 100644 (file)
index 0000000..a5c8793
--- /dev/null
@@ -0,0 +1,14 @@
+#as:
+#objdump: -d
+
+#...
+.*loop.*a2,.*
+.*rsr.lend.*a2
+.*wsr.lbeg.*a2
+.*l32r.*a2,.*
+.*nop
+.*wsr.lend.*a2
+.*isync
+.*rsr.lcount.*a2
+.*addi.*a2, a2, 1
+#...
diff --git a/gas/testsuite/gas/xtensa/loop-relax.s b/gas/testsuite/gas/xtensa/loop-relax.s
new file mode 100644 (file)
index 0000000..26fbdd8
--- /dev/null
@@ -0,0 +1,58 @@
+foo = 0x12345678
+bar = 0x12345679
+baz = 0x1234567a
+qux = 0x1234567b
+
+       .text
+       .globl main
+       .align 4
+main:
+       entry   sp, 32
+       movi    a2, foo
+       movi    a3, bar
+       movi    a4, baz
+       movi    a5, qux
+       movi    a6, 0
+       movi    a7, 2
+
+       loop    a2, .Lloop_end
+       j       1f
+
+2:
+       movi    a2, 10
+       loop    a2, 3f
+       addi    a6, a6, 1
+3:
+       .rep 100
+       nop
+       .endr
+
+       movi    a2, 10
+       loop    a2, 3f
+       addi    a6, a6, 1
+3:
+       .rep 100
+       nop
+       .endr
+
+       .align  4
+       .literal_position
+1:
+       beqi    a6, 2, 2b
+       movi    a2, foo
+       movi    a3, bar
+       movi    a4, baz
+       movi    a5, qux
+
+       beqi    a6, 1, 1f
+
+       addi    a6, a6, 1
+.Lloop_end:
+
+       .rep    16
+       ill
+       .endr
+
+1:
+       movi    a2, 0
+       retw
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-1a.d b/gas/testsuite/gas/xtensa/text-section-literals-1a.d
new file mode 100644 (file)
index 0000000..ca18e35
--- /dev/null
@@ -0,0 +1,18 @@
+#as: --auto-litpools
+#objdump: -d
+#source: text-section-literals-1.s
+
+.*: +file format .*xtensa.*
+#...
+Disassembly of section .init.literal:
+#...
+Disassembly of section .fini.literal:
+#...
+Disassembly of section .init:
+#...
+ *0:.*l32r.*
+#...
+Disassembly of section .fini:
+#...
+ *0:.*l32r.*
+#...
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-2.d b/gas/testsuite/gas/xtensa/text-section-literals-2.d
new file mode 100644 (file)
index 0000000..c73c6b1
--- /dev/null
@@ -0,0 +1,9 @@
+#as: --text-section-literals
+#objdump: -ds
+#Lone literal assembled successfully with --text-section-literals
+
+.*file format .*xtensa.*
+#...
+Contents of section .text:
+ 0000 12345678 .*
+#...
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-2.s b/gas/testsuite/gas/xtensa/text-section-literals-2.s
new file mode 100644 (file)
index 0000000..2846b42
--- /dev/null
@@ -0,0 +1,3 @@
+       .text
+
+       .literal .L0, 0x12345678
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-2a.d b/gas/testsuite/gas/xtensa/text-section-literals-2a.d
new file mode 100644 (file)
index 0000000..9b91876
--- /dev/null
@@ -0,0 +1,10 @@
+#as: --auto-litpools
+#objdump: -ds
+#source: text-section-literals-2.s
+#Lone literal assembled successfully with --auto-litpools
+
+.*file format .*xtensa.*
+#...
+Contents of section .text:
+ 0000 12345678 .*
+#...
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-3.d b/gas/testsuite/gas/xtensa/text-section-literals-3.d
new file mode 100644 (file)
index 0000000..b45a7e1
--- /dev/null
@@ -0,0 +1,11 @@
+#as: --text-section-literals
+#objdump: -ds
+
+.*file format .*xtensa.*
+#...
+Contents of section .text:
+ 0000 12345678 .*
+#...
+00000004 <foo>:
+.*4:.*l32r.*a2, 0.*
+#...
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-3.s b/gas/testsuite/gas/xtensa/text-section-literals-3.s
new file mode 100644 (file)
index 0000000..a3fad22
--- /dev/null
@@ -0,0 +1,3 @@
+       .text
+foo:
+       movi    a2, 0x12345678
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-4.d b/gas/testsuite/gas/xtensa/text-section-literals-4.d
new file mode 100644 (file)
index 0000000..f09a1f6
--- /dev/null
@@ -0,0 +1,9 @@
+#as: --text-section-literals --longcalls
+#objdump: -d
+
+.*file format .*xtensa.*
+#...
+00000004 <foo>:
+.*4:.*l32r.*a0, 0 .*
+.*7:.*callx0.*a0
+#...
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-4.s b/gas/testsuite/gas/xtensa/text-section-literals-4.s
new file mode 100644 (file)
index 0000000..57be3ac
--- /dev/null
@@ -0,0 +1,3 @@
+       .text
+foo:
+       call0   bar
diff --git a/gas/testsuite/gas/xtensa/text-section-literals-4a.d b/gas/testsuite/gas/xtensa/text-section-literals-4a.d
new file mode 100644 (file)
index 0000000..64a186a
--- /dev/null
@@ -0,0 +1,10 @@
+#as: --auto-litpools --longcalls
+#objdump: -d
+#source: text-section-literals-4.s
+
+.*file format .*xtensa.*
+#...
+00000004 <foo>:
+.*4:.*l32r.*a0, 0 .*
+.*7:.*callx0.*a0
+#...