https://gcc.gnu.org/g:9ee6c2619b256878d43800a16f7b98b3ddf59e52

commit r15-8008-g9ee6c2619b256878d43800a16f7b98b3ddf59e52
Author: Richard Earnshaw <rearn...@arm.com>
Date:   Wed Mar 12 18:48:55 2025 +0000

    arm: testsuite: remove gcc.target/arm/lp1243022.c [PR117931]
    
    This test has been failing since gcc-6.  The test was always very
    fragile anyway since it relied on an auto-inc being created and then
    split by the subreg2 (later the subreg3) pass.  But the code to get
    precisely these conditions was very long-winded and unlikely to be
    immune to other changes in the compiler (as proved to be the case).
    
    There's no obvious way to recreate the exact conditions we were
    testing for, so just remove the test.
    
    gcc/testsuite:
    
            PR target/117931
            * gcc.target/arm/lp1243022.c: Delete non-functional test.

Diff:
---
 gcc/testsuite/gcc.target/arm/lp1243022.c | 202 -------------------------------
 1 file changed, 202 deletions(-)

diff --git a/gcc/testsuite/gcc.target/arm/lp1243022.c 
b/gcc/testsuite/gcc.target/arm/lp1243022.c
deleted file mode 100644
index 11025eebd712..000000000000
--- a/gcc/testsuite/gcc.target/arm/lp1243022.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/* { dg-do compile { target arm_thumb2 } } */
-/* { dg-options "-O2 -fdump-rtl-subreg2" } */
-
-/* { dg-final { scan-rtl-dump "REG_INC" "subreg2" { target { ! arm_neon } } } 
} */
-struct device;
-typedef unsigned int __u32;
-typedef unsigned long long u64;
-typedef __u32 __le32;
-typedef u64 dma_addr_t;
-typedef unsigned gfp_t;
-int dev_warn (const struct device *dev, const char *fmt, ...);
-struct usb_bus
-{
-    struct device *controller;
-};
-struct usb_hcd
-{
-    struct usb_bus self;
-};
-struct xhci_generic_trb
-{
-    __le32 field[4];
-};
-union xhci_trb
-{
-    struct xhci_generic_trb generic;
-};
-struct xhci_segment
-{
-    union xhci_trb *trbs;
-    dma_addr_t dma;
-};
-struct xhci_ring
-{
-    struct xhci_segment *first_seg;
-};
-struct xhci_hcd
-{
-    struct xhci_ring *cmd_ring;
-    struct xhci_ring *event_ring;
-};
-struct usb_hcd *xhci_to_hcd (struct xhci_hcd *xhci)
-{
-}
-dma_addr_t xhci_trb_virt_to_dma (struct xhci_segment * seg,
-                                union xhci_trb * trb);
-struct xhci_segment *trb_in_td (struct xhci_segment *start_seg,
-                               dma_addr_t suspect_dma);
-int
-xhci_test_trb_in_td (struct xhci_hcd *xhci, struct xhci_segment *input_seg,
-                    union xhci_trb *start_trb, union xhci_trb *end_trb,
-                    dma_addr_t input_dma, struct xhci_segment *result_seg,
-                    char *test_name, int test_number)
-{
-    unsigned long long start_dma;
-    unsigned long long end_dma;
-    struct xhci_segment *seg;
-    start_dma = xhci_trb_virt_to_dma (input_seg, start_trb);
-    end_dma = xhci_trb_virt_to_dma (input_seg, end_trb);
-    {
-        dev_warn (xhci_to_hcd (xhci)->self.controller,
-                  "%d\n", test_number);
-        dev_warn (xhci_to_hcd (xhci)->self.controller,
-                  "Expected seg %p, got seg %p\n", result_seg, seg);
-    }
-}
-int
-xhci_check_trb_in_td_math (struct xhci_hcd *xhci, gfp_t mem_flags)
-{
-    struct
-    {
-        dma_addr_t input_dma;
-        struct xhci_segment *result_seg;
-    }
-    simple_test_vector[] =
-        {
-            {
-                0, ((void *) 0)
-            }
-            ,
-            {
-                xhci->event_ring->first_seg->dma - 16, ((void *) 0)}
-            ,
-            {
-                xhci->event_ring->first_seg->dma - 1, ((void *) 0)}
-            ,
-            {
-                xhci->event_ring->first_seg->dma, xhci->event_ring->first_seg}
-            ,
-            {
-                xhci->event_ring->first_seg->dma + (64 - 1) * 16,
-                xhci->event_ring->first_seg
-            }
-            ,
-            {
-                xhci->event_ring->first_seg->dma + (64 - 1) * 16 + 1, ((void 
*) 0)}
-            ,
-            {
-                xhci->event_ring->first_seg->dma + (64) * 16, ((void *) 0)}
-            ,
-            {
-                (dma_addr_t) (~0), ((void *) 0)
-            }
-        };
-    struct
-    {
-        struct xhci_segment *input_seg;
-        union xhci_trb *start_trb;
-        union xhci_trb *end_trb;
-        dma_addr_t input_dma;
-        struct xhci_segment *result_seg;
-    }
-    complex_test_vector[] =
-        {
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                xhci->event_ring->first_seg->trbs,.end_trb =
-                &xhci->event_ring->first_seg->trbs[64 - 1],.input_dma =
-                xhci->cmd_ring->first_seg->dma,.result_seg = ((void *) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                xhci->event_ring->first_seg->trbs,.end_trb =
-                &xhci->cmd_ring->first_seg->trbs[64 - 1],.input_dma =
-                xhci->cmd_ring->first_seg->dma,.result_seg = ((void *) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                xhci->cmd_ring->first_seg->trbs,.end_trb =
-                &xhci->cmd_ring->first_seg->trbs[64 - 1],.input_dma =
-                xhci->cmd_ring->first_seg->dma,.result_seg = ((void *) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                &xhci->event_ring->first_seg->trbs[0],.end_trb =
-                &xhci->event_ring->first_seg->trbs[3],.input_dma =
-                xhci->event_ring->first_seg->dma + 4 * 16,.result_seg = ((void 
*) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                &xhci->event_ring->first_seg->trbs[3],.end_trb =
-                &xhci->event_ring->first_seg->trbs[6],.input_dma =
-                xhci->event_ring->first_seg->dma + 2 * 16,.result_seg = ((void 
*) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                &xhci->event_ring->first_seg->trbs[64 - 3],.end_trb =
-                &xhci->event_ring->first_seg->trbs[1],.input_dma =
-                xhci->event_ring->first_seg->dma + 2 * 16,.result_seg = ((void 
*) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                &xhci->event_ring->first_seg->trbs[64 - 3],.end_trb =
-                &xhci->event_ring->first_seg->trbs[1],.input_dma =
-                xhci->event_ring->first_seg->dma + (64 - 4) * 16,.result_seg =
-                ((void *) 0),
-            }
-            ,
-            {
-                .input_seg = xhci->event_ring->first_seg,.start_trb =
-                &xhci->event_ring->first_seg->trbs[64 - 3],.end_trb =
-                &xhci->event_ring->first_seg->trbs[1],.input_dma =
-                xhci->cmd_ring->first_seg->dma + 2 * 16,.result_seg = ((void 
*) 0),
-            }
-        };
-    unsigned int num_tests;
-    int i, ret;
-    num_tests =
-        (sizeof (simple_test_vector) / sizeof ((simple_test_vector)[0]) +
-         (sizeof (struct
-             {
-         }
-             )));
-    for (i = 0; i < num_tests; i++)
-    {
-        ret =
-            xhci_test_trb_in_td (xhci, xhci->event_ring->first_seg,
-                                 xhci->event_ring->first_seg->trbs,
-                                 &xhci->event_ring->first_seg->trbs[64 - 1],
-                                 simple_test_vector[i].input_dma,
-                                 simple_test_vector[i].result_seg, "Simple", 
i);
-        if (ret < 0)
-            return ret;
-    }
-    for (i = 0; i < num_tests; i++)
-    {
-        ret =
-            xhci_test_trb_in_td (xhci, complex_test_vector[i].input_seg,
-                                 complex_test_vector[i].start_trb,
-                                 complex_test_vector[i].end_trb,
-                                 complex_test_vector[i].input_dma,
-                                 complex_test_vector[i].result_seg, "Complex", 
i);
-        if (ret < 0)
-            return ret;
-    }
-}

Reply via email to