Skip to content

X86-64 -tailcallopt calling convention specification seems out-of-sync with regular cc #4650

@llvmbot

Description

@llvmbot
Bugzilla Link 4278
Resolution FIXED
Resolved on Jun 12, 2009 11:31
Version unspecified
OS Linux
Reporter LLVM Bugzilla Contributor

Extended Description

In CC_X86_64_TailCall (X86CallingConv.td), there are several differences from CC_X86_64_C that are not explained (AFAICT) by the need to support tail calls.

  • It doesn't support fp80 arguments (causing a "Formal argument #​0 has unhandled type f80" abort).
  • v2f32 doesn't seem to be handled either.
  • The code that puts MMX vectors in XMM registers on Darwin doesn't check CCIfSubtarget<"hasSSE2()"> like it does for regular calls.

Also, the comment for the integer registers is a copy-paste-o; there are only 5 of them for tail calls, not 6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions