[llvm-commits] Fix in zmovl pattern on AVX

Demikhovsky, Elena elena.demikhovsky at intel.com
Thu Dec 15 04:36:21 PST 2011


Currently we have the following failure
LLVM ERROR: Cannot select: 0x3c5050: v4i64 = X86ISD::VZEXT_MOVL 0x3c4f50 [ID=8]
  0x3c4f50: v4i64 = insert_subvector 0x3c4e50, 0x3bfd90, 0x3c0990 [ID=6]
    0x3c4e50: v4i64 = undef [ID=4]
    0x3bfd90: v2i64,ch = load 0x391b18, 0x3bfb90, 0x3bfb90<LD16[undef]> [ORD=1] [ID=5]
      0x3bfb90: i64 = undef [ORD=1] [ID=1]
      0x3bfb90: i64 = undef [ORD=1] [ID=1]

for this code
define <3 x i64> @t4() nounwind {
entry:
  %0 = load <2 x i64> addrspace(1)* undef, align 16
  %1 = extractelement <2 x i64> %0, i32 0
  %2 = insertelement <3 x i64> <i64 undef, i64 0, i64 0>, i64 %1, i32 0
  ret <3 x i64> %2
}

I added a pattern to X86InstrSSE.td and a test. This is similar to Evan changes in revision 146191, so I added this test case to Evan's test.
Please review.

Thanks.
- Elena


---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: zmovl.diff
Type: application/octet-stream
Size: 1829 bytes
Desc: zmovl.diff
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111215/cf6093db/attachment.obj>


More information about the llvm-commits mailing list