From 829c98a06971706543d2d5d665e4636c9eb78534 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 2 Aug 2017 13:19:58 +0200 Subject: [PATCH] pr25967-1.c: Delete * gcc.dg/guality/pr25967-1.c: Delete * gcc.dg/guality/pr25967-2.c: Delete * gcc.dg/guality/pr25967-3.c: Rename to pr25967-1.c. * gcc.dg/guality/pr25967-4.c: Rename to pr25967-2.c. * gcc.dg/torture/pr25967-1.c: Delete * gcc.dg/torture/pr25967-2.c: Delete * gcc.dg/torture/pr25967-3.c: Rename to pr25967-1.c. * gcc.dg/torture/pr25967-4.c: Rename to pr25967-2.c. From-SVN: r250820 --- gcc/testsuite/ChangeLog | 7 --- gcc/testsuite/gcc.dg/guality/pr25967-1.c | 28 +++------- gcc/testsuite/gcc.dg/guality/pr25967-2.c | 22 +++----- gcc/testsuite/gcc.dg/guality/pr25967-3.c | 70 ------------------------ gcc/testsuite/gcc.dg/guality/pr25967-4.c | 64 ---------------------- gcc/testsuite/gcc.dg/torture/pr25967-1.c | 18 ++---- gcc/testsuite/gcc.dg/torture/pr25967-2.c | 14 +---- gcc/testsuite/gcc.dg/torture/pr25967-3.c | 63 --------------------- gcc/testsuite/gcc.dg/torture/pr25967-4.c | 58 -------------------- 9 files changed, 23 insertions(+), 321 deletions(-) delete mode 100644 gcc/testsuite/gcc.dg/guality/pr25967-3.c delete mode 100644 gcc/testsuite/gcc.dg/guality/pr25967-4.c delete mode 100644 gcc/testsuite/gcc.dg/torture/pr25967-3.c delete mode 100644 gcc/testsuite/gcc.dg/torture/pr25967-4.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 142e4de0e73..1910d035c7b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -11,13 +11,6 @@ PR tree-optimization/81633 * gcc.dg/vect/pr81633.c: New testcase. -2017-08-01 H.J. Lu - - * gcc.dg/guality/pr25967-3.c: New test. - * gcc.dg/guality/pr25967-4.c: Likewise. - * gcc.dg/torture/pr25967-3.c: Likewise. - * gcc.dg/torture/pr25967-4.c: Likewise. - 2017-08-01 H.J. Lu * gcc.dg/guality/pr25967-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-1.c b/gcc/testsuite/gcc.dg/guality/pr25967-1.c index 01d97fe612e..0924d1c03c1 100644 --- a/gcc/testsuite/gcc.dg/guality/pr25967-1.c +++ b/gcc/testsuite/gcc.dg/guality/pr25967-1.c @@ -12,14 +12,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -38,11 +30,9 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - uword_t error; - asm volatile ("lea " WORD_SIZE "(%%" STACK_POINTER "), %0\n\t" - "mov (%%" STACK_POINTER "), %1" - : "=r" (frame), "=r" (error) :); + register uword_t *sp __asm__("sp"); + uword_t error = *sp; + struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); if (ERROR != error) /* BREAK */ __builtin_abort (); if (IP != frame->ip) @@ -72,9 +62,9 @@ main () return 0; } -/* { dg-final { gdb-test 46 "error" "0x12345670" } } */ -/* { dg-final { gdb-test 46 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 46 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 46 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 46 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 46 "frame->ss" "0x12345675" } } */ +/* { dg-final { gdb-test 36 "error" "0x12345670" } } */ +/* { dg-final { gdb-test 36 "frame->ip" "0x12345671" } } */ +/* { dg-final { gdb-test 36 "frame->cs" "0x12345672" } } */ +/* { dg-final { gdb-test 36 "frame->flags" "0x12345673" } } */ +/* { dg-final { gdb-test 36 "frame->sp" "0x12345674" } } */ +/* { dg-final { gdb-test 36 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-2.c b/gcc/testsuite/gcc.dg/guality/pr25967-2.c index a8bdf9f546d..c3b59e21251 100644 --- a/gcc/testsuite/gcc.dg/guality/pr25967-2.c +++ b/gcc/testsuite/gcc.dg/guality/pr25967-2.c @@ -11,14 +11,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -37,8 +29,8 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - asm volatile ("lea (%%" STACK_POINTER "), %0" : "=r" (frame) : ); + register uword_t *sp __asm__("sp"); + struct interrupt_frame *frame = (struct interrupt_frame *) sp; if (IP != frame->ip) /* BREAK */ __builtin_abort (); if (CS != frame->cs) @@ -65,8 +57,8 @@ main () return 0; } -/* { dg-final { gdb-test 42 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 42 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 42 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 42 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 42 "frame->ss" "0x12345675" } } */ +/* { dg-final { gdb-test 34 "frame->ip" "0x12345671" } } */ +/* { dg-final { gdb-test 34 "frame->cs" "0x12345672" } } */ +/* { dg-final { gdb-test 34 "frame->flags" "0x12345673" } } */ +/* { dg-final { gdb-test 34 "frame->sp" "0x12345674" } } */ +/* { dg-final { gdb-test 34 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-3.c b/gcc/testsuite/gcc.dg/guality/pr25967-3.c deleted file mode 100644 index 0924d1c03c1..00000000000 --- a/gcc/testsuite/gcc.dg/guality/pr25967-3.c +++ /dev/null @@ -1,70 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-g -mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define ERROR 0x12345670 -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - uword_t error = *sp; - struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); - if (ERROR != error) /* BREAK */ - __builtin_abort (); - if (IP != frame->ip) - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - push $" STRING (ERROR) "; \ - jmp " ASMNAME ("fn")); - return 0; -} - -/* { dg-final { gdb-test 36 "error" "0x12345670" } } */ -/* { dg-final { gdb-test 36 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 36 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 36 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 36 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 36 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-4.c b/gcc/testsuite/gcc.dg/guality/pr25967-4.c deleted file mode 100644 index c3b59e21251..00000000000 --- a/gcc/testsuite/gcc.dg/guality/pr25967-4.c +++ /dev/null @@ -1,64 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-g -mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - struct interrupt_frame *frame = (struct interrupt_frame *) sp; - if (IP != frame->ip) /* BREAK */ - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - jmp " ASMNAME ("fn")); - return 0; -} - -/* { dg-final { gdb-test 34 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 34 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 34 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 34 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 34 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-1.c b/gcc/testsuite/gcc.dg/torture/pr25967-1.c index c504363030d..fd26a8b8ce3 100644 --- a/gcc/testsuite/gcc.dg/torture/pr25967-1.c +++ b/gcc/testsuite/gcc.dg/torture/pr25967-1.c @@ -12,14 +12,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -38,12 +30,10 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - uword_t error; - asm volatile ("lea " WORD_SIZE "(%%" STACK_POINTER "), %0\n\t" - "mov (%%" STACK_POINTER "), %1" - : "=r" (frame), "=r" (error) :); - if (ERROR != error) + register uword_t *sp __asm__("sp"); + uword_t error = *sp; + struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); + if (ERROR != error) /* BREAK */ __builtin_abort (); if (IP != frame->ip) __builtin_abort (); diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-2.c b/gcc/testsuite/gcc.dg/torture/pr25967-2.c index 3e27dd51aa2..4a0dd78c0ad 100644 --- a/gcc/testsuite/gcc.dg/torture/pr25967-2.c +++ b/gcc/testsuite/gcc.dg/torture/pr25967-2.c @@ -11,14 +11,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -37,9 +29,9 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - asm volatile ("lea (%%" STACK_POINTER "), %0" : "=r" (frame) : ); - if (IP != frame->ip) + register uword_t *sp __asm__("sp"); + struct interrupt_frame *frame = (struct interrupt_frame *) sp; + if (IP != frame->ip) /* BREAK */ __builtin_abort (); if (CS != frame->cs) __builtin_abort (); diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-3.c b/gcc/testsuite/gcc.dg/torture/pr25967-3.c deleted file mode 100644 index fd26a8b8ce3..00000000000 --- a/gcc/testsuite/gcc.dg/torture/pr25967-3.c +++ /dev/null @@ -1,63 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define ERROR 0x12345670 -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - uword_t error = *sp; - struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); - if (ERROR != error) /* BREAK */ - __builtin_abort (); - if (IP != frame->ip) - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - push $" STRING (ERROR) "; \ - jmp " ASMNAME ("fn")); - return 0; -} diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-4.c b/gcc/testsuite/gcc.dg/torture/pr25967-4.c deleted file mode 100644 index 4a0dd78c0ad..00000000000 --- a/gcc/testsuite/gcc.dg/torture/pr25967-4.c +++ /dev/null @@ -1,58 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - struct interrupt_frame *frame = (struct interrupt_frame *) sp; - if (IP != frame->ip) /* BREAK */ - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - jmp " ASMNAME ("fn")); - return 0; -} -- 2.30.2