From b4d62b40b7741b009730d074f9b3991344895fc2 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Thu, 26 Apr 2018 21:03:11 +0000 Subject: [PATCH] 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 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/mips/data-sym-pool.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fc0d3dcb9c3..972059364bf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-04-26 Maciej W. Rozycki + + * 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 * gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'. diff --git a/gcc/testsuite/gcc.target/mips/data-sym-pool.c b/gcc/testsuite/gcc.target/mips/data-sym-pool.c index c73c8adb9ca..8776d2b6e4e 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" } } */ -- 2.30.2