search for: evex

Displaying 20 results from an estimated 27 matches for "evex".

Did you mean: even
2016 Nov 23
4
RFC: code size reduction in X86 by replacing EVEX with VEX encoding
...nstruction set was introduced in X86 it included additional 32 registers of 512bit size each ZMM0 - ZMM31, as well as additional 16 XMM registers XMM16-XMM31 and 16 YMM registers YMM16-YMM31. In order to encode the new registers of 16-31 and the additional instructions, a new encoding prefix called EVEX, which extends the existing VEX encoding, was introduced as shown below: The EVEX encoding format: EVEX Opcode ModR/M [SIB] [Disp32] / [Disp8*N] [Immediate] # of bytes: 4 1 1 1 4 / 1 1 The existing VEX encoding format: [VEX] OPCODE ModR/M...
2016 Nov 23
2
RFC: code size reduction in X86 by replacing EVEX with VEX encoding
I would like a command line option to disable this optimization. That way tests can still verify that EVEX instructions came out of isel by using -show-mc-encoding. On Wed, Nov 23, 2016 at 5:01 AM Hal Finkel via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > ------------------------------ > > *From: *"Gadi via llvm-dev Haber" <llvm-dev at lists.llvm.org> > *To:...
2016 Nov 24
3
RFC: code size reduction in X86 by replacing EVEX with VEX encoding
> I would like a command line option to disable this optimization. That way tests can still verify that EVEX instructions came out of isel by using -show-mc-encoding. I think that keeping tests compatibility is not a reason for an additional “llc” flag. We check encoding in test/MC/X86 dir. Is there any option to report-out from llc in non-debug mode? It should be an option to control internals of llc p...
2016 Nov 28
2
RFC: code size reduction in X86 by replacing EVEX with VEX encoding
...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 15:01 To: Haber, Gadi <gadi.haber at intel.com> Cc: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] RFC: code size reduction in X86 by replacing EVEX with VEX encoding ________________________________ From: "Gadi via llvm-dev Haber" <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> To: llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> Sent: Wednesday, November 23, 2016 5:50:42 AM Subject: [...
2017 Jul 07
2
Unhandled reg/opcode register encoding VR2048 Error in backend
...strinfo.td i wrote; def VMOV_256B_RM : I<0x6F, MRMSrcMem, (outs VR2048:$dst), (ins i32mem:$src), "vmov_256B_rm\t{$src, $dst|$dst, $src}", [(set VR2048:$dst, (v64i32 (scalar_to_vector (loadi32 addr:$src))))], IIC_MOV_MEM>, EVEX; def VMOV_256B_MR : I<0x7F, MRMDestMem, (outs), (ins i32mem:$dst, VR2048:$src), "vmov_256B_mr\t{$src, $dst|$dst, $src}", [(store (i32 (bitconvert VR2048:$src)), addr:$dst)], IIC_MOV_MEM>, EVEX; here i have already define VR2048 in x86registe...
2017 Sep 05
2
Issues in Vector Add Instruction Machine Code Emission
I was getting same error when i keep both EVEX/EVEX_4V and TA. So, i restored my original instructions and for that i have to include bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp then used this condition; if(HasTA) ++SrcRegNum; in order to emit binary correctly. Is it right? On Tue, Sep 5, 2017 at 5:45 AM, Craig To...
2017 Sep 05
2
Issues in Vector Add Instruction Machine Code Emission
Thank You, I changed TA to EVEX or EVEX_4V. But now i am getting following error: Invalid prefix! UNREACHABLE executed at /lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp:647! On Tue, Sep 5, 2017 at 4:36 AM, Craig Topper <craig.topper at gmail.com> wrote: > Not all instructions can use EVEX_4V. Move instructions in...
2018 Mar 28
0
x86 instruction format which takes a single 64-bit immediate
...s the instruction requires the REX.W it to be set. hasLockPrefix - Indicates the instruction should be encoded with a 0xF0 lock prefix. hasREPPrefix - Indicates the instruction should be encoded with a 0xF3 rep prefix. OpcEnc - Which encoding scheme this instruction uses. Normal, VEX, EVEX, or XOP. VEX_WPrefix - Controls the value of the VEX.W bit in the encoder also tells the disassembler which instructions ignore VEX.W. hasVEX_4V - Does this instruction use VEX.vvvv hasVEX_L - Should this instruction be encoded with VEX.L=1 ignoresVEX_L - Tells the disassembler...
2018 Mar 28
4
x86 instruction format which takes a single 64-bit immediate
I am attempting to create an instruction which takes a single 64-bit immediate. This doesn't seem like a thing that would exist already (because who needs an instruction which just takes an immediate?) How might I implement this easily? Perhaps I could use a format which encodes a register, which is then unused? Thanks for the help. Gus -------------- next part -------------- An HTML
2017 Jul 28
3
Purpose of various register classes in X86 target
Hello Matthias, On 28 July 2017 at 04:13, Matthias Braun <mbraun at apple.com> wrote: > It's not that hard in principle: > - A register class is a set of registers. > - Virtual Registers have a register class assigned. > - If you have register constraints (like x86 8bit operations only work on > al,ah,etc.) then you have to create a new register class to express that.
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
Thank You. I used EVEX_4V with all the instructions. I replaced TA and EVEX both with EVEX_4V. Now, I am getting following error: llvm-tblgen: /utils/TableGen/X86RecognizableInstr.cpp:687: void llvm::X86Disassembler::RecognizableInstr::emitInstructionSpecifier(): Assertion `numPhysicalOperands >= 2 + additionalOperan...
2020 Jul 02
2
flags to reproduce clang -O3 with opt -O3
...imple-register-coalescing -slotindexes -spill-code-placement -stack-coloring -stackmap-liveness-livedebugvalues -stack-slot-coloring -tailduplication -unreachable-mbb-elimination -virtregmap -virtregrewriter -x86-avoid-SFB -x86-cf-opt -x86-cmov-conversion -x86-domain-reassignment -x86-evex-to-vex-compress -x86-execution-domain-fix -x86-fixup-bw-insts -x86-fixup-LEAs -x86-optimize-LEAs -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200702/2f0a59dc/attachment.html>
2020 Jul 03
2
flags to reproduce clang -O3 with opt -O3
...t; -tailduplication >> >> -unreachable-mbb-elimination >> >> -virtregmap >> >> -virtregrewriter >> >> -x86-avoid-SFB >> >> -x86-cf-opt >> >> -x86-cmov-conversion >> >> -x86-domain-reassignment >> >> -x86-evex-to-vex-compress >> >> -x86-execution-domain-fix >> >> -x86-fixup-bw-insts >> >> -x86-fixup-LEAs >> >> -x86-optimize-LEAs >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev...
2017 Jul 08
5
Error in v64i32 type in x86 backend
..., >>>>>>>>>>>>>> [(set VR2048:$dst, (v64i32 >>>>>>>>>>>>>> (scalar_to_vector (loadi32 addr:$src))))], >>>>>>>>>>>>>> IIC_MOV_MEM>, EVEX; >>>>>>>>>>>>>> >>>>>>>>>>>>>> def VMOV_256B_MR : I<0x7F, MRMDestMem, (outs), (ins >>>>>>>>>>>>>> i32mem:$dst, VR2048:$src), >>>>>>>>>>>&...
2017 Jul 08
2
Error in v64i32 type in x86 backend
...uctions so i wrote; def VMOV_256B_RM : I<0x6F, MRMSrcMem, (outs VR2048:$dst), (ins i32mem:$src), "vmov_256B_rm\t{$src, $dst|$dst, $src}", [(set VR2048:$dst, (v64i32 (scalar_to_vector (loadi32 addr:$src))))], IIC_MOV_MEM>, EVEX; def VMOV_256B_MR : I<0x7F, MRMDestMem, (outs), (ins i32mem:$dst, VR2048:$src), "vmov_256B_mr\t{$src, $dst|$dst, $src}", [(store (i32 (bitconvert VR2048:$src)), addr:$dst)], IIC_MOV_MEM>, EVEX; in x86instrinfo.td; when i build i got these i...
2017 Jul 08
2
Error in v64i32 type in x86 backend
...ns >>>> i32mem:$src), >>>> "vmov_256B_rm\t{$src, $dst|$dst, $src}", >>>> [(set VR2048:$dst, (v64i32 (scalar_to_vector >>>> (loadi32 addr:$src))))], >>>> IIC_MOV_MEM>, EVEX; >>>> >>>> def VMOV_256B_MR : I<0x7F, MRMDestMem, (outs), (ins i32mem:$dst, >>>> VR2048:$src), >>>> "vmov_256B_mr\t{$src, $dst|$dst, $src}", >>>> [(store (i32 (bitconvert VR2048:$src)),...
2018 Aug 06
2
[PATCH] D50328: [X86][SSE] Combine (some) target shuffles with multiple uses
[NOTE: Removed Phab and reviewers] > ================ > Comment at: test/CodeGen/X86/2012-01-12-extract-sv.ll:12 > +; CHECK-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0],xmm2[1,2,3] > +; CHECK-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,0,0,0] > ; CHECK-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0 > ---------------- > greened wrote: >> Can we make this test less brittle by
2010 Aug 08
5
Encrypted remote backup?
Can anyone recommend a commercial off site remote backup service with a client (preferably FOSS) for CentOS 5, preferably that allows encryption of the data being backed up? Small scale, I'm primarily looking to just back up my mail folder on my server. I've been backing it up to local hd via rsync but that drive just died, I'd prefer to have it backed up to somewhere more stable
2020 Mar 03
5
Should rint and nearbyint be always constrained?
...s. So ideally you would know which function was originally > used in the user code and call that. Yes, you are right. Such optimization at IR level probably does not make sense. Thanks, --Serge On Tue, Mar 3, 2020 at 11:41 PM Craig Topper <craig.topper at gmail.com> wrote: > Note, EVEX static rounding forces suppress all exceptions. You can't have > static rounding with exceptions. > > We're also talking about making the vector predicated floating point > intrinsics that Simon Moll is working on support both strict and non-strict > using operand bundles. So...
2020 Mar 03
2
Should rint and nearbyint be always constrained?
...> for that. When making such plan we should keep in mind that some targets encode rounding mode in instructions, rather than in some hardware register. In this case "floating point environment" is an attribute of particular instruction. By the way, X86 target also has such property: EVEX prefix allows static rounding support or suppress-all-exceptions. Such properties are naturally modeled with metadata operands but splitting to constrained and non-constrained variants makes little sense. My suggestion would be that we should set the strictfp attribute on these > intrinsics and...