[Bug c/63434] New: builtins.c has incorrect parameters for GEN_CALL_VALUE

steve at hearnden dot org.uk gcc-bugzilla@gcc.gnu.org
Wed Oct 1 18:55:00 GMT 2014


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

            Bug ID: 63434
           Summary: builtins.c has incorrect parameters for GEN_CALL_VALUE
           Product: gcc
           Version: 4.8.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: steve at hearnden dot org.uk

When trying to compile a new machine description, I found that testsuite
testsuite/gcc.c-torture/compile/930623-1.c was crashing.  The machine
description needs a 4th parameter to be added.

On investigation of the cause, my 4th parameter to the call function (number of
registers) had been set to NULL.  With some searching, it appears that the
builtins don't work when the 4th Parameter is added, or require it to be
specially coded.  I believe the correct fix is described below - switching the
last two parameters



       emit_call_insn (GEN_CALL_VALUE (valreg,
                                      gen_rtx_MEM (FUNCTION_MODE, function),
-                                     const0_rtx, NULL_RTX, const0_rtx));
+                                     const0_rtx,  const0_rtx, NULL_RTX));



More information about the Gcc-bugs mailing list