[LLVMdev] x86 Intel Syntax and MASM 9.x
Gaster, Benedict
Benedict.Gaster at amd.com
Tue Jun 16 09:39:29 PDT 2009
Hi Eli,
Yep I was being stupid.
Please find attached a patch for initial changes to get MASM working.
There is still one problem that I am looking into around changing
alignments within SEGMENTS. The problem is that MASM allows 2,4,16,256
alignments, default being 16, but LLVM is sometimes generating 32
alignment, for example, consider the following code:
float bar(float fy, float fx)
{
static const double foo[ 241] = {
6.24188099959573430842e-02,
6.63088949198234745008e-02,
}
}
Is generating the data segment:
_data segment PARA 'DATA'
__2E_str: ; .str
db 'out',0
__2E_str1: ; .str1
db 'in',0
public ___some_other_sruct_data
ALIGN 4
___some_other_sruct_data: ;
dd 7 ; 0x7
dd 3 ; 0x3
dd __2E_str
db 12 dup(0)
dd 7 ; 0x7
dd 3 ; 0x3
dd __2E_str1
db 12 dup(0)
db 12 dup(0)
sgv: ; sgv
db 1 dup(0)
ALIGN 4
lvgv: ; lvgv
ALIGN 32
foo: ;
dq 4589156319577832937 ; double value: 6.241881e-002
dq 4589442480094401190 ; double value: 6.630889e-002
MASM reports the following error:
error A2189:invalid combination with segment alignment : 32
Regards,
Ben
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Eli Friedman
Sent: Tuesday, June 16, 2009 12:10 AM
To: LLVM Developers Mailing List
Subject: Re: [LLVMdev] x86 Intel Syntax and MASM 9.x
On Mon, Jun 15, 2009 at 11:21 PM, Gaster,
Benedict<Benedict.Gaster at amd.com> wrote:
> I can get this two work with additional changes to X86InstrInfocpp but
> the problem I have with this approach is that it introduces a lot of
> duplication, when all I really want to do is parameterize the final
> field in the string "shl{b}\t{%cl, $dst|$dst, %CL}". I was wondering
> (hoping :-) if you knew of a better method to handling this?
I think you're missing the whole point of the "|" construct; the left
side is AT&T syntax, the right side is Intel syntax.
-Eli
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: masm.patch
Type: application/octet-stream
Size: 15767 bytes
Desc: masm.patch
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090616/691a2731/attachment.obj>
More information about the llvm-dev
mailing list