* ld-arm/arm-elf.exp: Add VFP11 tests.
authorJulian Brown <julian@codesourcery.com>
Mon, 29 Jan 2007 16:27:34 +0000 (16:27 +0000)
committerJulian Brown <julian@codesourcery.com>
Mon, 29 Jan 2007 16:27:34 +0000 (16:27 +0000)
* ld-arm/vfp11-fix-none.s: New file.
* ld-arm/vfp11-fix-none.d: Expected disassembly of above.
* ld-arm/vfp11-fix-scalar.s: New file.
* ld-arm/vfp11-fix-scalar.d: Expected disassembly of above.
* ld-arm/vfp11-fix-vector.s: New file.
* ld-arm/vfp11-fix-vector.d: Expected disassembly of above.

ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/vfp11-fix-none.d [new file with mode: 0644]
ld/testsuite/ld-arm/vfp11-fix-none.s [new file with mode: 0644]
ld/testsuite/ld-arm/vfp11-fix-scalar.d [new file with mode: 0644]
ld/testsuite/ld-arm/vfp11-fix-scalar.s [new file with mode: 0644]
ld/testsuite/ld-arm/vfp11-fix-vector.d [new file with mode: 0644]
ld/testsuite/ld-arm/vfp11-fix-vector.s [new file with mode: 0644]

index 80828c7..4fac3b0 100644 (file)
@@ -1,3 +1,13 @@
+2007-01-29  Julian Brown  <julian@codesourcery.com>
+
+       * ld-arm/arm-elf.exp: Add VFP11 tests.
+       * ld-arm/vfp11-fix-none.s: New file.
+       * ld-arm/vfp11-fix-none.d: Expected disassembly of above.
+       * ld-arm/vfp11-fix-scalar.s: New file.
+       * ld-arm/vfp11-fix-scalar.d: Expected disassembly of above.
+       * ld-arm/vfp11-fix-vector.s: New file.
+       * ld-arm/vfp11-fix-vector.d: Expected disassembly of above.
+
 2007-01-23  Nathan Sidwell  <nathan@codesourcery.com>
 
        * ld-elf/header.d: Reduce page size, restrict to linux & vxworks
index af94c87..71d817a 100644 (file)
@@ -144,6 +144,18 @@ set armelftests {
     {"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" {use-thumb-lib.s}
      {{readelf -Ds use-thumb-lib.sym}}
      "use-thumb-lib.so"}
+    {"VFP11 denorm erratum fix, scalar operation"
+     "-EL --vfp11-denorm-fix=scalar" "-EL" {vfp11-fix-scalar.s}
+     {{objdump -dr vfp11-fix-scalar.d}}
+     "vfp11-fix-scalar"}
+    {"VFP11 denorm erratum fix, vector operation"
+     "-EB --vfp11-denorm-fix=vector" "-EB" {vfp11-fix-vector.s}
+     {{objdump -dr vfp11-fix-vector.d}}
+     "vfp11-fix-vector"}
+    {"VFP11 denorm erratum fix, embedded code-like data"
+     "-EL --vfp11-denorm-fix=scalar" "-EL" {vfp11-fix-none.s}
+     {{objdump -dr vfp11-fix-none.d}}
+     "vfp11-fix-none"}
 
 }
 
diff --git a/ld/testsuite/ld-arm/vfp11-fix-none.d b/ld/testsuite/ld-arm/vfp11-fix-none.d
new file mode 100644 (file)
index 0000000..64a67ae
--- /dev/null
@@ -0,0 +1,9 @@
+
+.*: .*file format elf32-(big|little)arm
+
+Disassembly of section \.text:
+
+00008000 <_start>:
+    8000:      ee474a20        \.word  0xee474a20
+    8004:      ed927a00        \.word  0xed927a00
+    8008:      e12fff1e        bx      lr
diff --git a/ld/testsuite/ld-arm/vfp11-fix-none.s b/ld/testsuite/ld-arm/vfp11-fix-none.s
new file mode 100644 (file)
index 0000000..a016c49
--- /dev/null
@@ -0,0 +1,7 @@
+       .arm
+       .text
+       .globl _start
+_start:
+       .word 0xee474a20
+       .word 0xed927a00
+       bx lr
diff --git a/ld/testsuite/ld-arm/vfp11-fix-scalar.d b/ld/testsuite/ld-arm/vfp11-fix-scalar.d
new file mode 100644 (file)
index 0000000..b7fe136
--- /dev/null
@@ -0,0 +1,15 @@
+
+.*: .*file format elf32-(big|little)arm
+
+Disassembly of section \.text:
+
+00008000 <_start>:
+    8000:      0a000001        beq     800c <__vfp11_veneer_0>
+
+00008004 <__vfp11_veneer_0_r>:
+    8004:      ed927a00        flds    s14, \[r2\]
+    8008:      e12fff1e        bx      lr
+
+0000800c <__vfp11_veneer_0>:
+    800c:      0e474a20        fmacseq s9, s14, s1
+    8010:      eafffffb        b       8004 <__vfp11_veneer_0_r>
diff --git a/ld/testsuite/ld-arm/vfp11-fix-scalar.s b/ld/testsuite/ld-arm/vfp11-fix-scalar.s
new file mode 100644 (file)
index 0000000..4ffb891
--- /dev/null
@@ -0,0 +1,7 @@
+       .arm
+       .text
+       .globl _start
+_start:
+       fmacseq s9, s14, s1
+       flds s14, [r2]
+       bx lr
diff --git a/ld/testsuite/ld-arm/vfp11-fix-vector.d b/ld/testsuite/ld-arm/vfp11-fix-vector.d
new file mode 100644 (file)
index 0000000..3474b8c
--- /dev/null
@@ -0,0 +1,16 @@
+
+.*: .*file format elf32-(big|little)arm
+
+Disassembly of section \.text:
+
+00008000 <_start>:
+    8000:      0a000002        beq     8010 <__vfp11_veneer_0>
+
+00008004 <__vfp11_veneer_0_r>:
+    8004:      e1a02003        mov     r2, r3
+    8008:      ed927a00        flds    s14, \[r2\]
+    800c:      e12fff1e        bx      lr
+
+00008010 <__vfp11_veneer_0>:
+    8010:      0e474a20        fmacseq s9, s14, s1
+    8014:      eafffffa        b       8004 <__vfp11_veneer_0_r>
diff --git a/ld/testsuite/ld-arm/vfp11-fix-vector.s b/ld/testsuite/ld-arm/vfp11-fix-vector.s
new file mode 100644 (file)
index 0000000..05b6100
--- /dev/null
@@ -0,0 +1,8 @@
+       .arm
+       .text
+       .globl _start
+_start:
+       fmacseq s9, s14, s1
+       mov r2,r3
+       flds s14, [r2]
+       bx lr