https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83862

            Bug ID: 83862
           Summary: powerpc: ICE in signbit testcase
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: raji at linux dot vnet.ibm.com
  Target Milestone: ---

> cat t.c
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

struct test_f_i_data
{
  const char *arg_str;
  long double arg;
  int expected;
  int exceptions;
};

static const struct test_f_i_data test_data[] =
  {
    { "1", 0, 0, 0x8000 }, 
    { "1", 0, 0, 0x8000 }, 
    { "1", 0, 0, 0x8000 }
  };
void
check_bool (const char *test_name, int computed, int expected,
            int exceptions)
{
      printf (" is:         %d\n", computed);
      printf (" should be:  %d\n", expected);
}

int
main (int argc, char **argv)
{
  for (size_t i = 0; i < sizeof (test_data) / sizeof (test_data)[0]; i++)
   {
   char *test_name;
   asprintf (&test_name, "(%s)",((test_data)[i].arg_str));
   check_bool (test_name, signbit ((test_data)[i].arg)
     , (test_data)[i].expected, (test_data)[i].exceptions);
   free (test_name);
   }
}

> gcc-8 --version
gcc-8 (SUSE Linux) 8.0.0 20180102 (experimental) [trunk revision 256068]
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> gcc-8  -o t -g -mabi=ieeelongdouble -Wno-psabi t.c

> gcc-8  -o t -g -O2  t.c 

> gcc-8  -o t -g -O2 -mabi=ieeelongdouble -Wno-psabi t.c 
during RTL pass: split2
t.c: In function ‘main’:
t.c:39:1: internal compiler error: in change_address_1, at emit-rtl.c:2268
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.

Reply via email to