Displaying 4 results from an estimated 4 matches for "movsdrr".
Did you mean:
movsdmr
2008 Nov 17
0
[LLVMdev] Patterns with Multiple Stores
...w do
I specify the dependency MOVSD->SHUFPD->MOVSD?
I'm a little nervous about the extra MOVPD2SDrr. It exists only to get the t
typing correct. I tried forcing the output of the SHUFPD to be typed f64 but
I couldn't get anything to work. As an alternative I could write a special
MOVSDrr pattern that accepts a v2f64. I'm hoping the MOVPD2SDrr will
just be coalesced away.
The bare "3" and "8" seem to be accepted.
So the only remaining problem is how to specify the dependencies. Is there an
example in another target that does this sort of thing?...
2008 Nov 17
2
[LLVMdev] Patterns with Multiple Stores
I want to write a pattern that looks something like this:
def : Pat<(unalignedstore (v2f64 VR128:$src), addr:$dst),
(MOVSDmr ADD64ri8(addr:$dst, imm:8), ( SHUFPDrri (VR128:$src,
(MOVSDmr addr:$dst, FR64:$src))), imm:3)
So I want to convert an unaligned vector store to a scalar store, a shuffle
and a scalar store.
There are several question I have:
- Is the imm:3 syntax
2008 Nov 18
1
[LLVMdev] Patterns with Multiple Stores
...PD->MOVSD?
>
> I'm a little nervous about the extra MOVPD2SDrr. It exists only to
> get the t
> typing correct. I tried forcing the output of the SHUFPD to be
> typed f64 but
> I couldn't get anything to work. As an alternative I could write a
> special
> MOVSDrr pattern that accepts a v2f64. I'm hoping the MOVPD2SDrr will
> just be coalesced away.
>
> The bare "3" and "8" seem to be accepted.
>
> So the only remaining problem is how to specify the dependencies.
> Is there an
> example in another target that...
2008 May 09
2
[LLVMdev] Complicated Remat Question
...e same instruction as above.
%reg1097 is marked unspillable (weight set to HUGE_VALF).
%reg1461 gets assigned XMM15 by the register allocator.
Later on %reg1364 is spilled and assigned a stack slot.
When rewriting instructions after regalloc, we come across this instruction:
%XMM3<def> = MOVSDrr %reg1461, %R12<imp-use>
%reg1461 was marked as rematerializable (from when it was created at the time
%reg1235 was spilled). Dutifully, LocalSpiller inserts the remat def
instruction:
%reg1235<def> = FsMOVLPDrm %reg1097, 1, %reg1364, 8, Mem:LD(8,8) [tmp17641765
+ 0]
It then proce...