search for: movh

Displaying 19 results from an estimated 19 matches for "movh".

Did you mean: movb
2011 Oct 06
4
[LLVMdev] Enhancing TableGen
On Oct 6, 2011, at 7:59 AM, David A. Greene wrote: > For example, I want to be able to do this: > > defm MOVH : > vs1x_fps_binary_vv_node_rmonly< > 0x16, "movh", undef, 0, > // rr > [(undef)], > // rm > [(set DSTREGCLASS:$dst, > (DSTTYPE (movlhps SRCREGCLASS:$src1, > (DSTTYPE (b...
2011 Oct 06
0
[LLVMdev] TableGen and Greenspun
...rhaps we should > discuss what it is supposed to look like? Don't throw the Greenspunning term around unless you really mean it. The problem I solved via multidefs was this: how does one write a set of Pat<> patterns in a generic way? For example, I want to be able to do this: defm MOVH : vs1x_fps_binary_vv_node_rmonly< 0x16, "movh", undef, 0, // rr [(undef)], // rm [(set DSTREGCLASS:$dst, (DSTTYPE (movlhps SRCREGCLASS:$src1, (DSTTYPE (bitconvert...
2011 Oct 06
3
[LLVMdev] TableGen and Greenspun
The TableGen language seems to be growing Lisp macros from two different directions. Che-Liang Chiou added a preprocessor with for loops, and David Greene added multidefs. It seems that some kind of macro facility is needed, perhaps we should discuss what it is supposed to look like? /jakob
2011 Oct 06
0
[LLVMdev] Enhancing TableGen
Jakob Stoklund Olesen <jolesen at apple.com> writes: > On Oct 6, 2011, at 7:59 AM, David A. Greene wrote: > >> For example, I want to be able to do this: >> >> defm MOVH : >> vs1x_fps_binary_vv_node_rmonly< >> 0x16, "movh", undef, 0, >> // rr >> [(undef)], >> // rm >> [(set DSTREGCLASS:$dst, >> (DSTTYPE (movlhps SRCREGCLASS:$src1, >>...
2016 May 24
5
Liveness of AL, AH and AX in x86 backend
...ovzbl 1(%rdi), %ecx movb %al, z(%rip) movb %cl, z+1(%rip) incb %al shll $8, %ecx movzbl %al, %eax orl %ecx, %eax retq I was hoping it would do something along the lines of movb (%rdi), %al movb 1(%rdi), %ah movh %ax, z(%rip) incb %al retq Why is the x86 backend not getting this code? Does it know that AH:AL = AX? -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
2011 Oct 06
3
[LLVMdev] Enhancing TableGen
On Oct 6, 2011, at 12:42 PM, David A. Greene wrote: > Jakob Stoklund Olesen <jolesen at apple.com> writes: > >> On Oct 6, 2011, at 7:59 AM, David A. Greene wrote: >> >>> For example, I want to be able to do this: >>> >>> defm MOVH : >>> vs1x_fps_binary_vv_node_rmonly< >>> 0x16, "movh", undef, 0, >>> // rr >>> [(undef)], >>> // rm >>> [(set DSTREGCLASS:$dst, >>> (DSTTYPE (movlhps SRCREGCLASS:$src1,...
2016 May 24
0
Liveness of AL, AH and AX in x86 backend
...gt; movb %cl, z+1(%rip) > incb %al > shll $8, %ecx > movzbl %al, %eax > orl %ecx, %eax > retq > > >I was hoping it would do something along the lines of > > movb (%rdi), %al > movb 1(%rdi), %ah > movh %ax, z(%rip) > incb %al > retq > > >Why is the x86 backend not getting this code? Does it know that AH:AL = >AX? > >-Krzysztof > > > >-- >Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, >hosted by The Linux Foundation >___________...
2016 May 24
0
Liveness of AL, AH and AX in x86 backend
...ip) > movb %cl, z+1(%rip) > incb %al > shll $8, %ecx > movzbl %al, %eax > orl %ecx, %eax > retq > > > I was hoping it would do something along the lines of > > movb (%rdi), %al > movb 1(%rdi), %ah > movh %ax, z(%rip) > incb %al > retq > > > Why is the x86 backend not getting this code? Try enabling the sub-register liveness feature. I am guessing we think we cannot use the same register for the low and high part. Though, I would need to see the machine instrs to be sure. >...
2016 May 24
3
Liveness of AL, AH and AX in x86 backend
...t; incb %al >> shll $8, %ecx >> movzbl %al, %eax >> orl %ecx, %eax >> retq >> >> >> I was hoping it would do something along the lines of >> >> movb (%rdi), %al >> movb 1(%rdi), %ah >> movh %ax, z(%rip) >> incb %al >> retq >> >> >> Why is the x86 backend not getting this code? > > Try enabling the sub-register liveness feature. I am guessing we think we cannot use the same register for the low and high part. > Though, I would need to see the ma...
2014 Aug 22
5
[LLVMdev] Pseudo load and store instructions for AArch64
Hi Renato, > > I'm trying to add pseudo 64-bit load and store instructions for AArch64, which > > should have latencies set to "1" while being otherwise exactly the same as > > normal load and store instructions. > > Can I ask why would you need that? This is the only way I found to stop Machine Instruction Scheduler from reordering load and store
2011 Oct 06
4
[LLVMdev] TableGen and Greenspun
greened at obbligato.org (David A. Greene) writes: > The problem I solved via multidefs was this: how does one write a set of > Pat<> patterns in a generic way? > > For example, I want to be able to do this: > > defm MOVH : > vs1x_fps_binary_vv_node_rmonly< > 0x16, "movh", undef, 0, > // rr > [(undef)], > // rm > [(set DSTREGCLASS:$dst, > (DSTTYPE (movlhps SRCREGCLASS:$src1, > (DS...
2016 May 24
3
Liveness of AL, AH and AX in x86 backend
...%al > > shll $8, %ecx > > movzbl %al, %eax > > orl %ecx, %eax > > retq > > > > > >I was hoping it would do something along the lines of > > > > movb (%rdi), %al > > movb 1(%rdi), %ah > > movh %ax, z(%rip) > > incb %al > > retq > > > > > >Why is the x86 backend not getting this code? Does it know that AH:AL = > >AX? > > > >-Krzysztof > > > > > > > >-- > >Qualcomm Innovation Center, Inc. is a member of Code...
2016 May 24
0
Liveness of AL, AH and AX in x86 backend
...> > movzbl %al, %eax > > orl %ecx, %eax > > retq > > > > > >I was hoping it would do something along the lines of > > > > movb (%rdi), %al > > movb 1(%rdi), %ah > > movh %ax, z(%rip) > > incb %al > > retq > > > > > >Why is the x86 backend not getting this code? Does it know that > AH:AL = > >AX? > > > >-Krzysztof > > > > > > > >-- >...
2016 May 24
3
Liveness of AL, AH and AX in x86 backend
...l %al, %eax >> > orl %ecx, %eax >> > retq >> > >> > >> >I was hoping it would do something along the lines of >> > >> > movb (%rdi), %al >> > movb 1(%rdi), %ah >> > movh %ax, z(%rip) >> > incb %al >> > retq >> > >> > >> >Why is the x86 backend not getting this code? Does it know that >> AH:AL = >> >AX? >> > >> >-Krzysztof >> > >> > &...
2011 Oct 06
0
[LLVMdev] MIPS 32bit code generation
...rhaps we should > discuss what it is supposed to look like? Don't throw the Greenspunning term around unless you really mean it. The problem I solved via multidefs was this: how does one write a set of Pat<> patterns in a generic way? For example, I want to be able to do this: defm MOVH : vs1x_fps_binary_vv_node_rmonly< 0x16, "movh", undef, 0, // rr [(undef)], // rm [(set DSTREGCLASS:$dst, (DSTTYPE (movlhps SRCREGCLASS:$src1, (DSTTYPE (bitconvert...
2011 Oct 07
0
[LLVMdev] Enhancing TableGen
...2011, at 12:42 PM, David A. Greene wrote: > >> Jakob Stoklund Olesen <jolesen at apple.com> writes: >> >>> On Oct 6, 2011, at 7:59 AM, David A. Greene wrote: >>> >>>> For example, I want to be able to do this: >>>> >>>> defm MOVH : >>>> vs1x_fps_binary_vv_node_rmonly< >>>>   0x16, "movh", undef, 0, >>>>          // rr >>>>          [(undef)], >>>>          // rm >>>>          [(set DSTREGCLASS:$dst, >>>>                (DSTTYPE...
2016 May 24
0
Liveness of AL, AH and AX in x86 backend
...orl %ecx, %eax >>> > retq >>> > >>> > >>> >I was hoping it would do something along the lines of >>> > >>> > movb (%rdi), %al >>> > movb 1(%rdi), %ah >>> > movh %ax, z(%rip) >>> > incb %al >>> > retq >>> > >>> > >>> >Why is the x86 backend not getting this code? Does it know that >>> AH:AL = >>> >AX? >>> > >>> >-Krzysztof...
2016 May 25
0
Liveness of AL, AH and AX in x86 backend
...shll $8, %ecx >>> movzbl %al, %eax >>> orl %ecx, %eax >>> retq >>> >>> >>> I was hoping it would do something along the lines of >>> >>> movb (%rdi), %al >>> movb 1(%rdi), %ah >>> movh %ax, z(%rip) >>> incb %al >>> retq >>> >>> >>> Why is the x86 backend not getting this code? >> >> Try enabling the sub-register liveness feature. I am guessing we think we cannot use the same register for the low and high part. >> T...
2016 May 24
1
Liveness of AL, AH and AX in x86 backend
...;>> > retq >>>> > >>>> > >>>> >I was hoping it would do something along the lines of >>>> > >>>> > movb (%rdi), %al >>>> > movb 1(%rdi), %ah >>>> > movh %ax, z(%rip) >>>> > incb %al >>>> > retq >>>> > >>>> > >>>> >Why is the x86 backend not getting this code? Does it know that >>>> AH:AL = >>>> >AX? >>>> &gt...