Displaying 2 results from an estimated 2 matches for "6e0f4866".
2007 Dec 13
0
[LLVMdev] Bogus X86-64 Patterns
...ill move 32 bits rather than 64
> bits.
You mean there should be a "rex" in the assembly string? That is,
rex movd %rax, %xmm0
The Mac OS X assembly does not take rex prefix. So this is what's
expected:
movd %rax, %xmm0
$ otool64 -t a.o
a.o:
(__TEXT,__text) section
00000000 6e0f4866 000000c0
>
> For the rr variants it is ok because the assembler sees the r
> register use and
> adds the necessary rex prefix. It cannot do so for memory moves.
>
> These patterns are just wrong. So either the MaxOS assembler adds
> a rex
> (which is wrong if you real...
2007 Dec 12
2
[LLVMdev] Bogus X86-64 Patterns
Tracking down a problem with one of our benchmark codes, we've discovered that
some of the patterns in X86InstrX86-64.td are wrong. Specifically:
def MOV64toPQIrm : RPDI<0x6E, MRMSrcMem, (outs VR128:$dst), (ins i64mem:$src),
"mov{d|q}\t{$src, $dst|$dst, $src}",
[(set VR128:$dst,
(v2i64 (scalar_to_vector