[llvm-dev] PR36144: X86 Intel syntax and masm flavor
Gerolf Hoflehner via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 22 14:07:56 PDT 2018
> On Oct 22, 2018, at 1:44 PM, Reid Kleckner <rnk at google.com> wrote:
>
> After looking more closely at the patch in question, I again think it should be reverted.
>
> The patch sets a boolean to indicate that inline asm is being parsed in three places now:
> 1. true when parsing intel inline asm
> 2. true when .intel_syntax directives are encountered (BUG!)
> 3. false when .att_syntax is encountered
>
> We should only set this to true when parsing *inline asm*, clearly. I sent my second email after I saw place 1 when re-reading the patch and thought, oh, everything is working as intended. I'll go ahead and do it, since it is clearly wrong. .intel_syntax should not imply IsParsingInlineAsm.
Thanks, Reid!
>
> On Mon, Oct 22, 2018 at 1:13 PM Gerolf Hoflehner <ghoflehner at apple.com <mailto:ghoflehner at apple.com>> wrote:
>
>
>> On Sep 12, 2018, at 1:48 PM, Reid Kleckner via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Sorry, I spoke too soon. This only happens for intel style inline assembly in LLVM IR. I don't have a good suggestion.
>
> Why is it relevant that the issue is contained? The 0b support in MS asm shouldn’t break the general intel assembly syntax.
>>
>> On Wed, Sep 12, 2018 at 1:44 PM Reid Kleckner <rnk at google.com <mailto:rnk at google.com>> wrote:
>> I think we should revert r301390 just on principle from looking at the code. If I understand correctly, it flips the bit for "is parsing inline asm" to true when encountering a plain .intel_syntax directive. That's just wrong.
>>
>> On Wed, Sep 12, 2018 at 6:34 AM Francis Visoiu Mistrih via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>> Hi,
>>
>> We have a significant regression since llvm 5.0.0 in the x86 assembler.
>>
>> The following snippets fail:
>>
>> 1)
>>
>> .intel_syntax
>> 0:
>> jmp 0b
>>
>> 2)
>>
>> .intel_syntax
>> and edi, 0b010101
>>
>> when running through `llvm-mc -arch x86-64`.
>>
>> This regression was introduced in r301390, which was driven by PR27884.
>>
>> I think https://llvm.org/PR36144 <https://llvm.org/PR36144> describes this very well, and I think we should
>> get this fixed, since it's a pretty basic thing to support in the assembler.
>>
>> Here are a few solutions to this:
>>
>> 1) Introduce a new asm dialect/flavor/style to assemble masm files.
>>
>> 2) Only set the flags based on the target triple. Also suggested in PR27884.
>>
>> 3) Only set the flags based on a new command line flag.
>>
>> Let me know if any other solution comes to mind.
>>
>> While we get this issue fixed, is it reasonable to revert r301390?
>>
>> Thanks,
>>
>> --
>> Francis
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181022/b1dbe750/attachment-0001.html>
More information about the llvm-dev
mailing list