diff options
author | Maciej W. Rozycki <macro@mips.com> | 2018-04-26 21:03:11 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@gcc.gnu.org> | 2018-04-26 21:03:11 +0000 |
commit | b4d62b40b7741b009730d074f9b3991344895fc2 (patch) | |
tree | b87de8d91531dda0ab7a994b7b2a47c4524ff57d /gcc | |
parent | 7dc5410af04b1693544d34f4046d10ee4409a892 (diff) | |
download | gcc-b4d62b40b7741b009730d074f9b3991344895fc2.zip gcc-b4d62b40b7741b009730d074f9b3991344895fc2.tar.gz gcc-b4d62b40b7741b009730d074f9b3991344895fc2.tar.bz2 |
MIPS/GCC/testsuite: Fix data-sym-pool.c for n64 code
With the soft-float n64 ABI and the data-sym-pool.c test case code like
below is produced:
.file 1 "data-sym-pool.c"
.section .mdebug.abi64
.previous
.nan legacy
.module softfloat
.module oddspreg
.abicalls
.option pic0
.text
.align 2
.globl frob
.set mips16
.set nomicromips
.ent frob
.type frob, @function
frob:
.frame $17,16,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
.mask 0x00020000,-8
.fmask 0x00000000,0
daddiu $sp,-16
sd $17,8($sp)
move $17,$sp
ld $2,.L3
move $sp,$17
ld $17,8($sp)
daddiu $sp,16
jr $31
.type __pool_frob_3, @object
__pool_frob_3:
.align 3
.L3:
.dword 305419896
.type __pend_frob_3, @function
__pend_frob_3:
.insn
.end frob
.size frob, .-frob
.ident "GCC: (GNU) 8.0.1 20180410 (experimental)"
(we have no support for hard-float n64 MIPS16 code generation), which
means that the test case will fail, as the regular expression pattern
expects `lw' and `.word' rather than `ld' and `.dword' respectively to
appear in assembly code generation. Correct the pattern in an obvious
way then making it accept both intructions and pseudo-ops.
gcc/testsuite/
* gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and
`.dword' in addition to `lw' and `.word'.
From-SVN: r259691
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/data-sym-pool.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fc0d3dc..9720593 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2018-04-26 Maciej W. Rozycki <macro@mips.com> + * gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and + `.dword' in addition to `lw' and `.word'. + +2018-04-26 Maciej W. Rozycki <macro@mips.com> + * gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'. 2018-04-26 Eric Botcazou <ebotcazou@adacore.com> diff --git a/gcc/testsuite/gcc.target/mips/data-sym-pool.c b/gcc/testsuite/gcc.target/mips/data-sym-pool.c index c73c8ad..8776d2b 100644 --- a/gcc/testsuite/gcc.target/mips/data-sym-pool.c +++ b/gcc/testsuite/gcc.target/mips/data-sym-pool.c @@ -26,4 +26,4 @@ __pend_frob_3: # The symbol must match. symbol from being placed in the constant pool at `-O0' for SVR4 code and consequently interfering with test expectations. */ -/* { dg-final { scan-assembler "\tlw\t\\\$\[0-9\]+,(.L(\[0-9\]+))\n.*\t\\.type\t(__pool_frob_\\2), @object\n\\3:\n\t\\.align\t2\n\\1:\n\t\\.word\t305419896\n\t\\.type\t(__pend_frob_\\2), @function\n\\4:\n\t\\.insn\n" } } */ +/* { dg-final { scan-assembler "\tl\[wd\]\t\\\$\[0-9\]+,(.L(\[0-9\]+))\n.*\t\\.type\t(__pool_frob_\\2), @object\n\\3:\n\t\\.align\t2\n\\1:\n\t\\.d?word\t305419896\n\t\\.type\t(__pend_frob_\\2), @function\n\\4:\n\t\\.insn\n" } } */ |