[LLVMbugs] [Bug 17367] New: Implement the SandyBridge/Haswell machine model for x86 SSE4 and AVX.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Sep 25 09:45:23 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=17367

            Bug ID: 17367
           Summary: Implement the SandyBridge/Haswell machine model for
                    x86 SSE4 and AVX.
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: atrick at apple.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Each instruction in X86InstrSSE.td needs a SchedRW list.
This is a list of types defined in X86Schedule.td.
If new types are added (e.g. WritePopCnt), then a SB/HWWriteRes entry should be
added to X86SchedSandyBridge.td and X86SchedHaswell.td.

Once this is done we can mark the model complete. See this FIXME
def SandyBridgeModel...
  // FIXME: SSE4 and AVX are unimplemented. This flag is set to allow
  // the scheduler to assign a default model to unrecognized opcodes.
  let CompleteModel = 0;

Without this workaround the scheduler asserts because x86 already has itinerary
classes  for these instructions, indicating they should be modeled by the
scheduler. Since we use the new machine model for other instructions, it
expects a new machine model for these too.

LLVM ERROR: DefIdx 0 exceeds machine model writes for ...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20130925/ac969cc7/attachment.html>


More information about the llvm-bugs mailing list