From b785d0e12194800df53b5efca6b6dc47c73e975e Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Mon, 29 Jan 2007 16:27:34 +0000 Subject: [PATCH] * 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. --- ld/testsuite/ChangeLog | 10 ++++++++++ ld/testsuite/ld-arm/arm-elf.exp | 12 ++++++++++++ ld/testsuite/ld-arm/vfp11-fix-none.d | 9 +++++++++ ld/testsuite/ld-arm/vfp11-fix-none.s | 7 +++++++ ld/testsuite/ld-arm/vfp11-fix-scalar.d | 15 +++++++++++++++ ld/testsuite/ld-arm/vfp11-fix-scalar.s | 7 +++++++ ld/testsuite/ld-arm/vfp11-fix-vector.d | 16 ++++++++++++++++ ld/testsuite/ld-arm/vfp11-fix-vector.s | 8 ++++++++ 8 files changed, 84 insertions(+) create mode 100644 ld/testsuite/ld-arm/vfp11-fix-none.d create mode 100644 ld/testsuite/ld-arm/vfp11-fix-none.s create mode 100644 ld/testsuite/ld-arm/vfp11-fix-scalar.d create mode 100644 ld/testsuite/ld-arm/vfp11-fix-scalar.s create mode 100644 ld/testsuite/ld-arm/vfp11-fix-vector.d create mode 100644 ld/testsuite/ld-arm/vfp11-fix-vector.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 80828c79ae8..4fac3b0ae63 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2007-01-29 Julian Brown + + * 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 * ld-elf/header.d: Reduce page size, restrict to linux & vxworks diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index af94c8776d4..71d817a71de 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -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 index 00000000000..64a67ae207d --- /dev/null +++ b/ld/testsuite/ld-arm/vfp11-fix-none.d @@ -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 index 00000000000..a016c49411b --- /dev/null +++ b/ld/testsuite/ld-arm/vfp11-fix-none.s @@ -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 index 00000000000..b7fe136fe07 --- /dev/null +++ b/ld/testsuite/ld-arm/vfp11-fix-scalar.d @@ -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 index 00000000000..4ffb891df89 --- /dev/null +++ b/ld/testsuite/ld-arm/vfp11-fix-scalar.s @@ -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 index 00000000000..3474b8ce30a --- /dev/null +++ b/ld/testsuite/ld-arm/vfp11-fix-vector.d @@ -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 index 00000000000..05b6100bf19 --- /dev/null +++ b/ld/testsuite/ld-arm/vfp11-fix-vector.s @@ -0,0 +1,8 @@ + .arm + .text + .globl _start +_start: + fmacseq s9, s14, s1 + mov r2,r3 + flds s14, [r2] + bx lr -- 2.30.2