Displaying 20 results from an estimated 26 matches for "xmm12".
Did you mean:
xmm1
2010 Oct 20
2
[LLVMdev] llvm register reload/spilling around calls
...ontrol.td. The call instructions are all prefixed
> by:
>
> let Defs = [RAX, RCX, RDX, RSI, RDI, R8, R9, R10, R11, FP0, FP1, FP2,
> FP3, FP4, FP5, FP6, ST0, ST1, MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7,
> XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9, XMM10,
> XMM11, XMM12, XMM13, XMM14, XMM15, EFLAGS],
>
> This is the fixed list of call-clobbered registers. It should really
> be controlled by the calling convention of the called function
> instead.
>
> The WINCALL* instructions only exist because of this.
Ahh I see now. I hacked this up and indee...
2010 Oct 20
0
[LLVMdev] llvm register reload/spilling around calls
...tructions are all prefixed
>> by:
>>
>> let Defs = [RAX, RCX, RDX, RSI, RDI, R8, R9, R10, R11, FP0, FP1, FP2,
>> FP3, FP4, FP5, FP6, ST0, ST1, MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7,
>> XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9, XMM10,
>> XMM11, XMM12, XMM13, XMM14, XMM15, EFLAGS],
>>
>> This is the fixed list of call-clobbered registers. It should really
>> be controlled by the calling convention of the called function
>> instead.
>>
>> The WINCALL* instructions only exist because of this.
> Ahh I see no...
2010 Oct 20
1
[LLVMdev] llvm register reload/spilling around calls
...xed
>>> by:
>>>
>>> let Defs = [RAX, RCX, RDX, RSI, RDI, R8, R9, R10, R11, FP0, FP1, FP2,
>>> FP3, FP4, FP5, FP6, ST0, ST1, MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7,
>>> XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9, XMM10,
>>> XMM11, XMM12, XMM13, XMM14, XMM15, EFLAGS],
>>>
>>> This is the fixed list of call-clobbered registers. It should really
>>> be controlled by the calling convention of the called function
>>> instead.
>>>
>>> The WINCALL* instructions only exist because of t...
2010 Oct 20
0
[LLVMdev] llvm register reload/spilling around calls
...ions are all prefixed by:
let Defs = [RAX, RCX, RDX, RSI, RDI, R8, R9, R10, R11,
FP0, FP1, FP2, FP3, FP4, FP5, FP6, ST0, ST1,
MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7,
XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7,
XMM8, XMM9, XMM10, XMM11, XMM12, XMM13, XMM14, XMM15, EFLAGS],
This is the fixed list of call-clobbered registers. It should really be controlled by the calling convention of the called function instead.
The WINCALL* instructions only exist because of this.
One problem is that calling conventions are handled while building the...
2010 Oct 20
3
[LLVMdev] llvm register reload/spilling around calls
Thanks for giving it a look!
On 19.10.2010 23:21, Jakob Stoklund Olesen wrote:
> On Oct 19, 2010, at 11:40 AM, Roland Scheidegger wrote:
>
>> So I saw that the code is doing lots of register
>> spilling/reloading. Now I understand that due to calling
>> conventions, there's not really a way to avoid this - I tried using
>> coldcc but apparently the backend
2008 Sep 03
2
[LLVMdev] Codegen/Register allocation question.
...%XMM1<imp-def,dead>,
%XMM2<imp-def,dead>, %XMM3<imp-def,dead>, %XMM4<imp-def,dead>,
%XMM5<imp-def,dead>, %XMM6<imp-def,dead>, %XMM7<imp-def,dead>,
%XMM8<imp-def,dead>, %XMM9<imp-def,dead>, %XMM10<imp-def,dead>,
%XMM11<imp-def,dead>, %XMM12<imp-def,dead>, %XMM13<imp-def,dead>,
%XMM14<imp-def,dead>, %XMM15<imp-def,dead>, %EFLAGS<imp-def,dead>,
%EAX<imp-def>, %ECX<imp-def,dead>, %EDI<imp-def,dead>,
%EDX<imp-def,dead>, %ESI<imp-def,dead>
108 ADJCALLSTACKUP 0, 0, %ESP<imp-...
2008 Sep 04
0
[LLVMdev] Codegen/Register allocation question.
...d>,
> %XMM2<imp-def,dead>, %XMM3<imp-def,dead>, %XMM4<imp-def,dead>,
> %XMM5<imp-def,dead>, %XMM6<imp-def,dead>, %XMM7<imp-def,dead>,
> %XMM8<imp-def,dead>, %XMM9<imp-def,dead>, %XMM10<imp-def,dead>,
> %XMM11<imp-def,dead>, %XMM12<imp-def,dead>, %XMM13<imp-def,dead>,
> %XMM14<imp-def,dead>, %XMM15<imp-def,dead>, %EFLAGS<imp-def,dead>,
> %EAX<imp-def>, %ECX<imp-def,dead>, %EDI<imp-def,dead>,
> %EDX<imp-def,dead>, %ESI<imp-def,dead>
> 108 ADJCALLSTACKU...
2012 Jan 09
3
[LLVMdev] Calling conventions for YMM registers on AVX
On Jan 9, 2012, at 10:00 AM, Jakob Stoklund Olesen wrote:
>
> On Jan 8, 2012, at 11:18 PM, Demikhovsky, Elena wrote:
>
>> I'll explain what we see in the code.
>> 1. The caller saves XMM registers across the call if needed (according to DEFS definition).
>> YMMs are not in the set, so caller does not take care.
>
> This is not how the register allocator
2007 Jun 26
3
[LLVMdev] Live Intervals Question
...1<imp-def,dead>,
%XMM2<imp-def,dead>, %XMM3<imp-def,dead>, %XMM4<imp-def,dead>,
%XMM5<imp-def,dead>, %XMM6<imp-def,dead>, %XMM7<imp-def,dead>,
%XMM8<imp-def,dead>, %XMM9<imp-def,dead>, %XMM10<imp-def,dead>,
%XMM11<imp-def,dead>, %XMM12<imp-def,dead>, %XMM13<imp-def,dead>,
%XMM14<imp-def,dead>, %XMM15<imp-def,dead>, %EAX<imp-def>
CALL64pcrel32 <ga:printf> %mreg(78) %mreg(74)<d> %mreg(77)<d> %mreg(79)<d>
%mreg(81)<d> %mreg(78)<d> %mreg(66)<d> %mreg(70)<d&g...
2007 Jun 26
0
[LLVMdev] Live Intervals Question
...d>,
> %XMM2<imp-def,dead>, %XMM3<imp-def,dead>, %XMM4<imp-def,dead>,
> %XMM5<imp-def,dead>, %XMM6<imp-def,dead>, %XMM7<imp-def,dead>,
> %XMM8<imp-def,dead>, %XMM9<imp-def,dead>, %XMM10<imp-def,dead>,
> %XMM11<imp-def,dead>, %XMM12<imp-def,dead>, %XMM13<imp-def,dead>,
> %XMM14<imp-def,dead>, %XMM15<imp-def,dead>, %EAX<imp-def>
> CALL64pcrel32 <ga:printf> %mreg(78) %mreg(74)<d> %mreg(77)<d> %mreg
> (79)<d>
> %mreg(81)<d> %mreg(78)<d> %mreg(66)<d...
2012 Jan 10
0
[LLVMdev] Calling conventions for YMM registers on AVX
...quot;>, DwarfRegNum<[25, -2, -2]>;
def XMM9b: Register<"xmm9b">, DwarfRegNum<[26, -2, -2]>;
def XMM10b: Register<"xmm10b">, DwarfRegNum<[27, -2, -2]>;
def XMM11b: Register<"xmm11b">, DwarfRegNum<[28, -2, -2]>;
def XMM12b: Register<"xmm12b">, DwarfRegNum<[29, -2, -2]>;
def XMM13b: Register<"xmm13b">, DwarfRegNum<[30, -2, -2]>;
def XMM14b: Register<"xmm14b">, DwarfRegNum<[31, -2, -2]>;
def XMM15b: Register<"xmm15b">, DwarfRegNum&...
2007 Jun 26
4
[LLVMdev] Live Intervals Question
...M2<imp-def,dead>, %XMM3<imp-def,dead>, %XMM4<imp-def,dead>,
> > %XMM5<imp-def,dead>, %XMM6<imp-def,dead>, %XMM7<imp-def,dead>,
> > %XMM8<imp-def,dead>, %XMM9<imp-def,dead>, %XMM10<imp-def,dead>,
> > %XMM11<imp-def,dead>, %XMM12<imp-def,dead>, %XMM13<imp-def,dead>,
> > %XMM14<imp-def,dead>, %XMM15<imp-def,dead>, %EAX<imp-def>
> > CALL64pcrel32 <ga:printf> %mreg(78) %mreg(74)<d> %mreg(77)<d> %mreg
> > (79)<d>
> > %mreg(81)<d> %mreg(78)<d&...
2007 Jun 27
0
[LLVMdev] Live Intervals Question
...-def,dead>, %XMM3<imp-def,dead>, %XMM4<imp-def,dead>,
>>> %XMM5<imp-def,dead>, %XMM6<imp-def,dead>, %XMM7<imp-def,dead>,
>>> %XMM8<imp-def,dead>, %XMM9<imp-def,dead>, %XMM10<imp-def,dead>,
>>> %XMM11<imp-def,dead>, %XMM12<imp-def,dead>, %XMM13<imp-def,dead>,
>>> %XMM14<imp-def,dead>, %XMM15<imp-def,dead>, %EAX<imp-def>
>>> CALL64pcrel32 <ga:printf> %mreg(78) %mreg(74)<d> %mreg(77)<d> %mreg
>>> (79)<d>
>>> %mreg(81)<d> %mr...
2018 Feb 06
3
What does a dead register mean?
Hi,
My understanding of a "dead" register is a def that is never used. However,
when I dump the MI after reg alloc on a simple program I see the following
sequence:
ADJCALLSTACKDOWN64 0, 0, 0, *implicit-def dead %rsp*, implicit-def dead
%eflags, implicit-def dead %ssp, implicit %rsp, implicit %ssp
CALL64pcrel32 @foo, <regmask %bh %bl %bp %bpl %bx %ebp %ebx %rbp %rbx %r12
%r13 %r14
2008 Apr 16
0
[LLVMdev] Being able to know the jitted code-size before emitting
...12W: case X86::R13W: case X86::R14W: case X86::R15W:
> - case X86::R8B: case X86::R9B: case X86::R10B: case X86::R11B:
> - case X86::R12B: case X86::R13B: case X86::R14B: case X86::R15B:
> - case X86::XMM8: case X86::XMM9: case X86::XMM10: case X86::XMM11:
> - case X86::XMM12: case X86::XMM13: case X86::XMM14: case X86::XMM15:
> - return true;
> - }
> - return false;
> -}
> -
> -inline static bool isX86_64NonExtLowByteReg(unsigned reg) {
> - return (reg == X86::SPL || reg == X86::BPL ||
> - reg == X86::SIL || reg == X86::DIL);
>...
2008 Apr 15
4
[LLVMdev] Being able to know the jitted code-size before emitting
OK, here's a new patch that adds the infrastructure and the
implementation for X86, ARM and PPC of GetInstSize and GetFunctionSize.
Both functions are virtual functions defined in TargetInstrInfo.h.
For X86, I moved some commodity functions from X86CodeEmitter to
X86InstrInfo.
What do you think?
Nicolas
Evan Cheng wrote:
>
> I think both of these belong to TargetInstrInfo. And
2014 Feb 21
2
[LLVMdev] [lldb-dev] How is variable info retrieved in debugging for executables generated by llvm backend?
...ormat:vector-uint8;set:Floating
> Point Registers;gcc:27;dwarf:27;container-regs:65;#00
> $qRegisterInfo76#af
> $name:xmm11;bitsize:128;offset:627;encoding:vector;format:vector-uint8;set:Floating
> Point Registers;gcc:28;dwarf:28;container-regs:66;#00
> $qRegisterInfo77#b0
> $name:xmm12;bitsize:128;offset:659;encoding:vector;format:vector-uint8;set:Floating
> Point Registers;gcc:29;dwarf:29;container-regs:67;#00
> $qRegisterInfo78#b1
> $name:xmm13;bitsize:128;offset:691;encoding:vector;format:vector-uint8;set:Floating
> Point Registers;gcc:30;dwarf:30;container-regs:68...
2014 Feb 20
2
[LLVMdev] [lldb-dev] How is variable info retrieved in debugging for executables generated by llvm backend?
Thank you, Clayton. This is very helpful.
We use the LLDB specific GDB remote extensions, and our debugger server
supports "qRegisterInfo" package. "reg 0x3c" is the frame pointer.
In the example mentioned above, we have SP = FP - 40 for current call frame.
And variable "a" is stored at address (FP + -24) from asm instruction [FP +
-24] = R3;;
Thus we can conclude
2017 Oct 11
1
[PATCH v1 01/27] x86/crypto: Adapt assembly for PIE support
...xts_crypt_32way:
subq $(16 * 32), %rsp;
movq %rsp, %rax;
- vbroadcasti128 .Lxts_gf128mul_and_shl1_mask_0, %ymm12;
+ vbroadcasti128 .Lxts_gf128mul_and_shl1_mask_0(%rip), %ymm12;
/* load IV and construct second IV */
vmovdqu (%rcx), %xmm0;
vmovdqa %xmm0, %xmm15;
gf128mul_x_ble(%xmm0, %xmm12, %xmm13);
- vbroadcasti128 .Lxts_gf128mul_and_shl1_mask_1, %ymm13;
+ vbroadcasti128 .Lxts_gf128mul_and_shl1_mask_1(%rip), %ymm13;
vinserti128 $1, %xmm0, %ymm15, %ymm0;
vpxor 0 * 32(%rdx), %ymm0, %ymm15;
vmovdqu %ymm15, 15 * 32(%rax);
@@ -1325,7 +1325,7 @@ camellia_xts_crypt_32way:
/* inpa...
2018 Mar 13
32
[PATCH v2 00/27] x86: PIE support and option to extend KASLR randomization
Changes:
- patch v2:
- Adapt patch to work post KPTI and compiler changes
- Redo all performance testing with latest configs and compilers
- Simplify mov macro on PIE (MOVABS now)
- Reduce GOT footprint
- patch v1:
- Simplify ftrace implementation.
- Use gcc mstack-protector-guard-reg=%gs with PIE when possible.
- rfc v3:
- Use --emit-relocs instead of -pie to reduce