[Bug target/60207] Wrong TFmode check in construct_container

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Feb 15 08:48:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60207

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to H.J. Lu from comment #0)

> But we didn't remove mode == TFmode check in construct_container.

This check is benign. classify_argument will return:

    case TFmode:
      classes[0] = X86_64_SSE_CLASS;
      classes[1] = X86_64_SSEUP_CLASS;
      return 2;

and the check in construct_container is:

  if (n == 2
      && regclass[0] == X86_64_INTEGER_CLASS
      && regclass[1] == X86_64_INTEGER_CLASS
      && (mode == CDImode || mode == TImode || mode == TFmode)
      && intreg[0] + 1 == intreg[1])
    return gen_rtx_REG (mode, intreg[0]);

The above condition never triggers due to regclass checks.

So, you can remove TFmode check without harm. The patch is pre-approved for
mainline and release branches.


More information about the Gcc-bugs mailing list