https://gcc.gnu.org/g:d17a2e8bfc91a8e401a2d8c61e23fba36e28a43d

commit r15-4996-gd17a2e8bfc91a8e401a2d8c61e23fba36e28a43d
Author: Alexandre Oliva <ol...@adacore.com>
Date:   Thu Nov 7 02:46:57 2024 -0300

    [testsuite] fix pr70321.c PIC expectations
    
    When we select a non-bx get_pc_thunk, we get an extra mov to set up
    the PIC register before the abort call.  Expect that mov or a
    get_pc_thunk.bx call.
    
    
    for  gcc/testsuite/ChangeLog
    
            * gcc.target/i386/pr70321.c: Cope with non-bx get_pc_thunk.

Diff:
---
 gcc/testsuite/gcc.target/i386/pr70321.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.target/i386/pr70321.c 
b/gcc/testsuite/gcc.target/i386/pr70321.c
index 58f5f5661c7a..287b7da1b950 100644
--- a/gcc/testsuite/gcc.target/i386/pr70321.c
+++ b/gcc/testsuite/gcc.target/i386/pr70321.c
@@ -9,4 +9,8 @@ void foo (long long ixi)
 
 /* { dg-final { scan-assembler-times "mov" 1 { target nonpic } } } */
 /* get_pc_thunk adds an extra mov insn.  */
-/* { dg-final { scan-assembler-times "mov" 2 { target { ! nonpic } } } } */
+/* Choosing a non-bx get_pc_thunk requires another mov before the abort call.
+   So we require a match of either that mov or the get_pc_thunk.bx call, in
+   addition to the other 2 movs.  (Hopefully there won't be more calls for a
+   false positive.)  */
+/* { dg-final { scan-assembler-times "mov|call\[^\n\r]*get_pc_thunk\.bx" 3 { 
target { ! nonpic } } } } */

Reply via email to