[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