search for: exedomain

Displaying 8 results from an estimated 8 matches for "exedomain".

2010 Mar 25
1
[LLVMdev] TSFlagsFields and TSFlagsShifts obsolete?
...; } class Domain<bits<2> val> { bits<2> Value = val; } def GenericDomain : Domain<0>; def SSEPackedInt : Domain<1>; def SSEPackedSingle : Domain<2>; def SSEPackedDouble : Domain<3>; class X86Instr<bits<8> opcod> : Instruction { Domain ExeDomain = GenericDomain; let TSFlags{0-7} = opcod; let TSFlags{22-23} = ExeDomain.Value; } class PIInstr<bits<8> opcod> : X86Instr<opcod> { let ExeDomain = SSEPackedInt; } def i1 : X86Instr<0x12>; def i2 : PIInstr<0x34>; def i3 : PIInstr<0x34> { let ExeDomain = S...
2012 Jan 04
2
[LLVMdev] Execution domain for VEXTRACTF128/VINSERTF128
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...
2012 Jan 04
0
[LLVMdev] Execution domain for VEXTRACTF128/VINSERTF128
...128rr, 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 m...
2012 Jan 05
1
[LLVMdev] Execution domain for VEXTRACTF128/VINSERTF128
...X86::VPERM2I128rr } On Wed, Jan 4, 2012 at 4:32 AM, Demikhovsky, Elena <elena.demikhovsky at intel.com<mailto: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...
2017 Aug 07
2
VBROADCAST Implementation Issues
...mask_wb in the pattern below. > > multiclass avx512_gather<bits<8> opc, string OpcodeStr, X86VectorVTInfo _, > X86MemOperand memop, PatFrag GatherNode> { > let Constraints = "@earlyclobber $dst, $src1 = $dst, $mask = $mask_wb", > ExeDomain = _.ExeDomain in > def rm : AVX5128I<opc, MRMSrcMem, (outs _.RC:$dst, _.KRCWM:$mask_wb), > (ins _.RC:$src1, _.KRCWM:$mask, memop:$src2), > !strconcat(OpcodeStr#_.Suffix, > "\t{$src2, ${dst} {${mask}}|${dst} {${mask}}, $src2}"), >...
2016 Nov 28
2
RFC: code size reduction in X86 by replacing EVEX with VEX encoding
Hal, that’s a good point. There are more manually-maintained tables in the X86 backend that should probably be tablegened: the memory-folding tables and ReplaceableInstrs, to name a couple. If you have ideas on how to get these auto-generated, please let us know. From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Hal Finkel via llvm-dev Sent: Wednesday, November 23, 2016
2017 Aug 07
3
VBROADCAST Implementation Issues
...ing OpcodeStr, >>>>> X86VectorVTInfo _, >>>>> X86MemOperand memop, PatFrag GatherNode> { >>>>> let Constraints = "@earlyclobber $dst, $src1 = $dst, $mask = >>>>> $mask_wb", >>>>> ExeDomain = _.ExeDomain in >>>>> def rm : AVX5128I<opc, MRMSrcMem, (outs _.RC:$dst, >>>>> _.KRCWM:$mask_wb), >>>>> (ins _.RC:$src1, _.KRCWM:$mask, memop:$src2), >>>>> !strconcat(OpcodeStr#_.Suffix, >>>>>...
2017 Aug 06
2
VBROADCAST Implementation Issues
i want to implement gather for v64i32. i wrote following code. def GATHER_256B : I<0x68, MRMSrcMem, (outs VR_2048:$dst), (ins i2048mem:$src), "GATHER_256B\t{$src, $dst|$dst, $src}", [(set VR_2048:$dst, (v64i32 (masked_gather addr:$src)))], IIC_MOV_MEM>, TA; def: Pat<(v64f32 (masked_gather addr:$src)), (GATHER_256B