[llvm-commits] [llvm] r166949 - in /llvm/trunk: lib/Target/X86/AsmParser/X86AsmParser.cpp test/CodeGen/X86/ms-inline-asm.ll test/MC/X86/x86-32-ms-inline-asm.s
Chad Rosier
mcrosier at apple.com
Mon Oct 29 11:23:05 PDT 2012
On Oct 29, 2012, at 11:14 AM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Mon, Oct 29, 2012 at 11:01 AM, Chad Rosier <mcrosier at apple.com> wrote:
>> Modified: llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll?rev=166949&r1=166948&r2=166949&view=diff
>> ==============================================================================
>> --- llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll (original)
>> +++ llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll Mon Oct 29 13:01:54 2012
>> @@ -61,3 +61,110 @@
>> ; CHECK: .att_syntax
>> ; CHECK: {{## InlineAsm End|#NO_APP}}
>> }
>> +
>> +define void @t21() nounwind {
>> +; CHECK: t21
>> +entry:
>> + br label %foo
>> +
>> +foo: ; preds = %entry
>> + call void asm sideeffect inteldialect "mov eax, [4*eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [4*eax + 4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [4*eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [4*eax][4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi + eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi + eax]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi][eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi][eax]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi + 4*eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi + 4*eax]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi][4*eax]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi][4*eax]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi + eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi + eax + 4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi][eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi][eax + 4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi + eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi + eax][4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi][eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi][eax][4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi + 2*eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi + 2*eax + 4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi][2*eax + 4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi][2*eax + 4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi + 2*eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi + 2*eax][4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + call void asm sideeffect inteldialect "mov eax, [esi][2*eax][4]", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
>> +; CHECK: {{## InlineAsm Start|#APP}}
>> +; CHECK: .intel_syntax
>> +; CHECK: mov eax, [esi][2*eax][4]
>> +; CHECK: .att_syntax
>> +; CHECK: {{## InlineAsm End|#NO_APP}}
>> +
>> + ret void
>> +}
>
> This test isn't testing anything useful.
It is a slightly different code path then the other test case, but your right. No sense in needlessly increasing the testing time. Removed in r166953.
Chad
>
> -Eli
More information about the llvm-commits
mailing list