[LLVMdev] Execution domain for VEXTRACTF128/VINSERTF128

Craig Topper craig.topper at gmail.com
Wed Jan 4 23:54:32 PST 2012


At least in AVX2 mode we should prefer VEXTRACTI128 for integer and
VEXTRACTF128 for fp. So I think should have a domain.

Do you have a testcase for the assertion?

On Wed, Jan 4, 2012 at 11:25 PM, Demikhovsky, Elena <
elena.demikhovsky at intel.com> wrote:

>  I think that it should not belong to any domain.****
>
> And I see a problem with this table. If you run in AVX mode and call
> lookup with VEXTRACTF128rr you fail with assertion.****
>
> ** **
>
> *- Elena*****
>
> *From:* Craig Topper [mailto:craig.topper at gmail.com]
> *Sent:* Wednesday, January 04, 2012 19:32
> *To:* Demikhovsky, Elena
> *Cc:* llvmdev at cs.uiuc.edu
> *Subject:* Re: [LLVMdev] Execution domain for VEXTRACTF128/VINSERTF128****
>
> ** **
>
> What domain do you think they should have? They are floating point, but
> not technically double or single. The domain fix pass will treat them as
> either anyway as I've put them in the table for both single and double.
>
> From X86InstrInfo.cpp****
>
>   { X86::VEXTRACTF128mr, X86::VEXTRACTF128mr, X86::VEXTRACTI128mr },****
>
>   { X86::VEXTRACTF128rr, X86::VEXTRACTF128rr, X86::VEXTRACTI128rr },****
>
>   { X86::VINSERTF128rm,  X86::VINSERTF128rm,  X86::VINSERTI128rm },****
>
>   { X86::VINSERTF128rr,  X86::VINSERTF128rr,  X86::VINSERTI128rr },****
>
>   { X86::VPERM2F128rm,   X86::VPERM2F128rm,   X86::VPERM2I128rm },****
>
>   { X86::VPERM2F128rr,   X86::VPERM2F128rr,   X86::VPERM2I128rr }****
>
> ** **
>
> On Wed, Jan 4, 2012 at 4:32 AM, Demikhovsky, Elena <
> elena.demikhovsky at intel.com> wrote:****
>
> Hi,
>
> I noticed, that execution domain is set to SSEPackedSingle for these
> instructions.
> Looks like a bug.
>
> let neverHasSideEffects = 1, ExeDomain = SSEPackedSingle in {
> def VEXTRACTF128rr : AVXAIi8<0x19, MRMDestReg, (outs VR128:$dst),
>
> - 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.
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev****
>
>
>
>
> --
> ~Craig****
>  ---------------------------------------------------------------------
> 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.
>



-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120104/1d2be1ae/attachment.html>


More information about the llvm-dev mailing list