[llvm-bugs] [Bug 40281] New: Remove some/all of the X86ISD double shift opcodes

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jan 10 02:42:40 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=40281

            Bug ID: 40281
           Summary: Remove some/all of the X86ISD double shift opcodes
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

For X86ISD::VSHLDV/VSHRDV we should be able to use the ISD::FSHL/FSHR opcodes
directly, including the isel patterns.

The immediate X86ISD::VSHLD/VSHRD opcodes will probably have to stay - although
I did wonder if it'd be useful to merge these with the scalar X86ISD::SHLD/SHRD
opcodes?

NOTE: I can't see a way to get rid of the X86ISD::SHLD/SHRD opcodes while we
still need to handle the i16 (no modulo) special case, although I suppose it
doesn't stop us using the ISD::FSHL/FSHR opcodes directly for i32/i64 if its
useful?

-- 
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/20190110/4ce19437/attachment.html>


More information about the llvm-bugs mailing list